专栏首页python前行者[739]flask-mail发送邮件

[739]flask-mail发送邮件

pip install flask-mail

这里我以QQ邮箱为例,来讲解QQ邮箱的发送!其它邮箱与此类似(下图是QQ邮箱服务器地址、端口号相关信息)

服务器名称

服务器地址

SSL协议端口号

非SSL协议端口号

IMAP

imap.163.com

993

143

SMTP

smtp.163.com

465/994

25

POP3

Pop.163.com

995

110

exts.py 代码如下:

from flask_mail import Mail
 
mail = Mail()

config.py 代码如下:

# 服务器ip地址
MAIL_SERVER = "smtp.qq.com"
 
# 端口号:TLS对应587,SSL对应465
MAIL_PORT = "587"
MAIL_USE_TLS = True
# MAIL_USE_SSL : 默认为 False
# 发送者邮箱
MAIL_USERNAME = "你的qq邮箱"
# 发送者QQ邮箱授权码(进入邮箱发送短信申请即可,具体参照下图)
MAIL_PASSWORD = "此处为你的QQ邮箱授权码"
# 默认发送者
MAIL_DEFAULT_SENDER = "你的qq邮箱"

ptoject.py 代码如下:

from flask import Flask
import config
from exts import mail
from flask_mail import Message
 
app = Flask(__name__)
app.config.from_object(config)
mail.init_app(app)
 
@app.route('/')
def hello_world():
    return 'Hello World!'
 
@app.route("/send/")
def send():
    # 第一个参数为发送邮件的标题;
    # recipients:接收邮件的用户邮箱;
    # body:发送邮箱的主题内容
    msg = Message("测试邮件发送", recipients=['接收邮件的用户邮箱'], body="恭喜你,邮件发送成功!")
    mail.send(msg)
    return "success"
 
if __name__ == '__main__':
    app.run(debug=True)

运行project.py文件,如果不出意外的话,在浏览器输入127.0.0.1:5000/send。你就能收到邮件了。结果如下:


方式2

from flask_mail import Message, Mail
from flask import Flask

app = Flask(__name__)

app.config.update(
    DEBUG=True,
    MAIL_SERVER='smtp.163.com',#邮箱服务器
    MAIL_PORT=465,#端口号
    MAIL_USE_SSL=True,#支持ssl协议
    MAIL_USERNAME='##',#邮箱账号
    MAIL_PASSWORD='##'#授权码
)

mail = Mail(app=app)##创建邮箱对象

发送邮件

@app.route('/send')
def sendmail():
    msg = Message(
        subject='flask_test',
        recipients=['###@qq.com'],#发送给谁
        sender='<##@163.com>'#发送人
    )
    msg.html = '<h1>欢迎来到flask</h1>'
    mail.send(msg)
    return 'susseccful'


if __name__ == '__main__':
    app.run()

参考:https://blog.csdn.net/aimill/article/details/89380953 https://blog.csdn.net/qq_43536078/article/details/97708004 https://www.cnblogs.com/gandoufu/p/9497703.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [704]虚拟机debian9.* 安装vm tools

    VMware Tools是VMware虚拟机中自带的一种增强工具,是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机时钟的驱动程序。 在VMwa...

    周小董
  • centos环境的python、scrapy部署

    (下载地址:https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz) Centos6.5系统自带p...

    周小董
  • 安卓模拟器怎么设置代理

    app开发测试的同学为了调试方便,通常会在电脑上装一些android模拟器,开多台进行测试。调试中通常要干的一件事就是抓取,那么想要抓包,我们必须要设置代理。

    周小董
  • 性能优化:Cache Buffer Chain Latch等待事件

    彭小波 ACOUG核心成员,Oracle用户组年轻专家。擅长Oracle数据库架构规划、SQL,OWI方面的优化。曾服务于各大企业数据库的维护以及系统开发,目...

    数据和云
  • vue中禁止滚动事件

    用户4344670
  • 如何配置微服务的健康检查? | 微服务系列第九篇

    随着环境中运行的微服务数量的增加,主动监控微服务的所有实例的运行状况变得更加重要。使用像OpenShift这样的容器管理技术,可以利用运行状况检查,来自动决定是...

    魏新宇
  • 如何解决eclipse远程服务器上面的Rabbitmq连接超时问题?

    1、嗯,问题呢,就是一开始安装好RabbitMQ,练习了一下RabbitMQ的使用,但是呢,过了一段时间,我来复习的时候,发现运行出现下面的错误了。后来想想,是...

    别先生
  • 机器学习的平台化发展趋势

    机器学习在经过近些年的野蛮生长之后,其有效性已经被无数成功应用所验证,在这一点上已经不需要更多证明。

    孙玄@奈学教育
  • nodejs作为前后端分离中间件的跨域解决方案

    前后端分离时候SEO问题很头疼,上次提供了nuxt+axios解决服务端渲染问题的解决方案,其实nodejs一样可以做服务端渲染,这时候会产生ajax跨域问题,...

    小尘哥

扫码关注云+社区

领取腾讯云代金券