flask email 获取表格信息后传送给固定邮箱地址的具体案例 127.0.0.1 - - [25/May/2023 21:09:40] "POST /connectus HTTP/1.1" 200 -
时间: 2024-01-10 19:02:38 浏览: 144
获取网页数据并发送到指定邮箱
4星 · 用户满意度95%
好的,我可以为您提供一个基本的 Flask 发送表格信息到指定邮箱的示例代码。请注意,这个示例代码有一些需要您自行替换的部分,如邮箱地址、SMTP 服务器地址、用户名和密码等。
```python
from flask import Flask, render_template, request
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
app = Flask(__name__)
@app.route('/connectus', methods=['POST'])
def connectus():
# 获取表单数据
name = request.form.get('name')
email = request.form.get('email')
message = request.form.get('message')
# 创建邮件消息对象
msg = MIMEMultipart()
msg['From'] = '您的邮箱地址' # 发件人邮箱地址
msg['To'] = '需要接收的邮箱地址' # 收件人邮箱地址
msg['Subject'] = '来自网站的新消息' # 邮件主题
# 添加邮件正文
body = f'姓名:{name}\n邮箱:{email}\n消息:{message}'
msg.attach(MIMEText(body, 'plain'))
# 添加附件(可选)
# with open('file.pdf', 'rb') as f:
# attach = MIMEApplication(f.read(), _subtype='pdf')
# attach.add_header('Content-Disposition', 'attachment', filename='file.pdf')
# msg.attach(attach)
# 发送邮件
try:
smtp = smtplib.SMTP('smtp.example.com', 587) # SMTP 服务器地址和端口号
smtp.starttls() # 启用 TLS 加密
smtp.login('您的邮箱用户名', '您的邮箱密码') # 邮箱用户名和密码
smtp.sendmail(msg['From'], msg['To'], msg.as_string()) # 发送邮件
smtp.quit()
return '发送成功'
except Exception as e:
return f'发送失败:{str(e)}'
if __name__ == '__main__':
app.run()
```
您需要将上面代码中的 `您的邮箱地址`、`需要接收的邮箱地址`、`smtp.example.com`、`587`、`您的邮箱用户名`、`您的邮箱密码` 等内容替换为您自己的信息。另外,如果您需要添加附件,可以取消注释相应代码,并将 `file.pdf` 替换为您的附件文件名。运行代码后,访问 `/connectus` 页面即可提交表单并发送邮件。
阅读全文