flask之邮件发送

本文详细介绍了如何在Flask应用中安装和配置Flask-Mail扩展,包括设置参数、创建Mail类和Message类实例,以及发送带有附件的电子邮件示例。
摘要由CSDN通过智能技术生成

一、安装Flask-Mail扩展

pip install Flask-Mail

二、配置Flask-Mail

格式:app.config['参数']='值'

在这里插入图片描述

三、实现方法

3.1、Mail类

常用类方法
在这里插入图片描述

3.2、Message类,它封装了一封电子邮件。构造函数参数如下:

flask-mail.Message(subject, recipients, body, html, sender, cc, bcc, 
   reply-to, date, charset, extra_headers, mail_options, rcpt_options)

其它方法:

attach(filename,content_type,data) - 为邮件添加附件。filename:附件名、content_type - MIME类型的文件、data - 原始文件数据

add_recipient() - 向邮件添加另一个收件人

四、举例说明

from flask import Flask
from flask_mail import Mail, Message

app =Flask(__name__)

app.config['MAIL_SERVER']='smtp.gmail.com'  #配置邮箱
app.config['MAIL_PORT'] = 456
app.config['MAIL_USERNAME'] = 'tester01@gmail.com'
app.config['MAIL_PASSWORD'] = '*****'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)  #创建Mail类实例

@app.route("/")
def index():
   msg = Message('Hello', sender = 'tester01@gmail.com', recipients = ['tester02@gmail.com'])
   msg.body = "Hello World"
   mail.send(msg)
   return "Sented"

if __name__ == '__main__':
   app.run(debug = True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 Flask 发送邮件的示例代码: ```python from flask import Flask, render_template, request, flash from flask_mail import Mail, Message app = Flask(__name__) app.config.update( DEBUG=True, MAIL_SERVER='smtp.gmail.com', MAIL_PORT=587, MAIL_USE_TLS=True, MAIL_USERNAME='your_email@gmail.com', MAIL_PASSWORD='your_password' ) app.secret_key = 'secret_key' mail = Mail(app) @app.route('/', methods=['GET', 'POST']) def home(): if request.method == 'POST': name = request.form['name'] email = request.form['email'] message = request.form['message'] # Send email msg = Message(subject='Message from your website', sender=app.config.get('MAIL_USERNAME'), recipients=[email]) msg.body = f'Hello {name},\n\nThank you for contacting us. Your message has been received and we will get back to you as soon as possible.\n\nBest regards,\nYour website team\n\nYour message: {message}' mail.send(msg) flash('Your message has been sent successfully!') return render_template('home.html') return render_template('home.html') if __name__ == '__main__': app.run() ``` 在上面的代码中,我们首先配置Flask-Mail 所需的参数,包括 SMTP 服务器地址、端口号、是否启用 TLS 加密、发件人邮箱和密码。然后,我们创建了一个名为 `mail` 的 `Mail` 对象,并将其与 Flask 应用程序 `app` 关联。 接下来,我们定义了一个名为 `home` 的路由函数,用于处理用户提交的表单数据。当用户提交表单时,我们首先从 `request.form` 中获取用户输入的姓名、邮箱和消息。然后,我们创建一个 `Message` 对象,设置邮件主题、发件人和收件人,并将消息内容添加到邮件正文中。最后,我们使用 `mail.send()` 方法发送邮件,并使用 Flask 的 `flash()` 函数提示用户消息已成功发送。 最后,我们在 `if __name__ == '__main__':` 代码块中启动应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值