flask email 163邮箱 通过表格获取用户填写留言信息
时间: 2024-02-13 13:00:48 浏览: 19
好的,我可以为您提供一些关于使用Flask和163邮箱发送邮件的指导。首先,您需要在Flask应用程序中安装和配置`Flask-Mail`扩展,这将帮助您发送电子邮件。
下面是一些示例代码,可以帮助您在Flask应用程序中通过表格获取用户填写的信息并将其发送到163邮箱。
首先,在您的Flask应用程序中导入`Flask-Mail`扩展:
```python
from flask_mail import Mail, Message
```
然后,您需要为`Flask-Mail`扩展配置以下参数:
```python
app.config['MAIL_SERVER']='smtp.163.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'your_email@163.com'
app.config['MAIL_PASSWORD'] = 'your_email_password'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
```
接下来,您需要实例化`Mail`对象:
```python
mail = Mail(app)
```
现在,您可以使用以下代码来处理用户填写的表单数据并将其发送到163邮箱:
```python
@app.route('/send-email', methods=['GET', 'POST'])
def send_email():
if request.method == 'POST':
name = request.form['name']
email = request.form['email']
message = request.form['message']
msg = Message('New message from your website', sender='your_email@163.com', recipients=['recipient_email@163.com'])
msg.body = f"Name: {name}\nEmail: {email}\nMessage: {message}"
mail.send(msg)
return 'Email sent!'
return render_template('email_form.html')
```
在上面的代码中,我们首先检查请求方法是否为POST,然后从表单数据中获取用户的姓名,电子邮件地址和消息。接下来,我们创建一个`Message`对象,并设置邮件主题,发送方和接收方的电子邮件地址。最后,我们将表单数据添加到邮件正文中,并使用`mail.send()`方法发送电子邮件。
最后,您需要在`email_form.html`中创建一个表单,以便用户可以填写并提交消息。以下是一个简单的HTML表单示例:
```html
<form method="POST" action="/send-email">
<label>Name:</label>
<input type="text" name="name"><br>
<label>Email:</label>
<input type="email" name="email"><br>
<label>Message:</label>
<textarea name="message"></textarea><br>
<input type="submit" value="Send">
</form>
```
希望这些代码能够帮助您使用Flask和163邮箱发送电子邮件并获取用户填写的表单数据。