Flask与SMTP协议邮件扩展问题

目录
  • Flask与SMTP协议邮件扩展
    • 设置邮箱授权码
  • Flask框架(flask中的邮件发送Flask-Mail(邮件扩展))
  • 总结

Flask与SMTP协议邮件扩展

在开发过程中,很多应用程序都需要通过邮件提醒用户,Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包,可以用在Flask程序中发送邮件。

Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交给服务器发送。

设置邮箱授权码

如下示例,通过开启QQ邮箱SMTP服务设置,发送邮件。

#coding:utf-8
from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

# 配置邮件:服务器/端口/安全套接字层/邮箱名/授权码
app.config['MAIL_SERVER'] = "smtp.126.com"
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = "huidongpeng@126.com"
app.config['MAIL_PASSWORD'] = "heima666"
app.config['MAIL_DEFAULT_SENDER'] = 'FlaskAdmin<huidongpeng@126.com>'

mail = Mail(app)

@app.route('/')
def hello_world():
    return '<a href="/send_mail">发送邮件</a>'

@app.route('/send_mail')
def send_mail():
    msg = Message('这是邮件的主题', recipients=['huidongpeng@126.com'],body='This is flask mail')
    mail.send(msg)
    return '已发送邮件'

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

Flask框架(flask中的邮件发送Flask-Mail(邮件扩展))

1.  Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包,可以用在Flask程序中发送邮件。

Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交给服务器发送。

2. 开启邮箱SMTP服务,,设置开启邮箱的授权码登录,且获取到授权码

3. 配置邮件:

配置邮件:服务器/端口/传输层安全协议/邮箱名/密码

app.config.update(
    DEBUG = True,            
    MAIL_SERVER='smtp.qq.com',   #  邮箱服务器
    MAIL_PROT=465,                   # 邮件服务器所对应的端口号
    MAIL_USE_TLS = True,      #   传输的时候是否用到了加密
    MAIL_USERNAME = '22905818051@qq.com',            #  使用邮箱连接时的用户名
    MAIL_PASSWORD = 'zheshixiangduiyingdemima',       # 使用邮箱服务器连接时对应的密码

                                             #  密码有可能不是用户名的密码,而是对应的授权码
)

4.  导入相应的模块  

from flask_mail import Mail, Message

(1)生成Mail的对象:

mail = Mail(app)  #  把app传进去

(2)然后要发送的内容:

msg = Message("邮件的标题 ",sender='发送方', recipients=[接受方的列表(每个接收方都是一个字符串形式,以逗号隔开])

msg.body = "邮件体,即邮件的内容"

(3)发送邮件: 

mail.send(msg)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python利用Flask-Mail实现发送邮件详解

    目录 前言 qq邮箱开启smtp服务 Flask-Mail的安装 Flask-MailQQ邮箱的配置 Flask-Mail的使用 前言 在开发过程中,很多应用程序都需要通过邮件提醒用户, Flask 的扩展包 Flask - Mail 通过包装了 Python 内置的smtplib包,可以用在 Flask 程序中发送邮件.Flask - Mail 连接到简单邮件协议( Simple Mail Transfer Protocol , SMTP )服务器,并把邮件交给服务器发送! qq邮箱开启smt

  • Flask-Mail用法实例分析

    本文实例讲述了Flask-Mail用法.分享给大家供大家参考,具体如下: 很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件. 虽然 Python 标准库中的 smtplib 包可用在 Flask 程序中发送电子邮件,但包装了 smtplib 的 Flask-Mail 扩展能更好地和 Flask 集成 安装 pip3 install flask-mail Flask-Mail SMTP服务器的配置 配置 默认值 说明 MAIL_SERVER localhost 电子邮件

  • Flask项目中实现短信验证码和邮箱验证码功能

    Flask是一个用Python编写的Web应用程序框架,Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发的feature. 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队. Flask基于Werkzeug WSGI工具包和Jinja2模板引擎.两者都是Pocco项目. 这篇文章给大家介绍Flask项目中实现短信验证码和邮箱验证码功能,具体内容如下所示: 一.发送邮箱验证码 1.使用QQ邮箱发送验证码 ①配置 开启

  • Flask与SMTP协议邮件扩展问题

    目录 Flask与SMTP协议邮件扩展 设置邮箱授权码 Flask框架(flask中的邮件发送Flask-Mail(邮件扩展)) 总结 Flask与SMTP协议邮件扩展 在开发过程中,很多应用程序都需要通过邮件提醒用户,Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包,可以用在Flask程序中发送邮件. Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交给服务器发送. 设置邮箱授权码

  • 手工体验smtp和pop3协议 邮件实现详解(二)

    上篇博客我们简单介绍了电子邮件的发送和接收过程,对参与其中的邮件服务器,邮件客户端软件,邮件传输协议也有简单的介绍.我们知道电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递必须遵守的规则便是邮件传输协议.SMTP协议定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则.POP3/IMAP协议定义了邮件客户端软件和POP3邮件服务器的通信规则.这篇博客我们就来手工体验SMTP和POP3协议的奥秘. 1.使用Smtp协议手工发送邮件 SMTP

  • PHP基于SMTP协议实现邮件发送实例代码

    SMTP协议 当我们使用PHP的第三方库或工具类进行邮件发送的时候,是否想过一个问题: 为什么我们不能自己写php代码实现邮件发现,而要用别人的库呢?php发送邮件到底是如何实现的? 首先我们要了解发送邮件的基本原理,本文基于SMTP协议实现邮件发送 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议.简单来说它定义了一组规则,我们只需要依照这个规则来告诉SMTP服务器,我们要发送邮件的发送人,接收人,内容,主题等信息. 然后SMTP服务器依照这组规则来解析

  • Python使用POP3和SMTP协议收发邮件的示例代码

    先来了解一下收/发邮件有哪些协议: SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议.相当于中转站,将邮件发送到客户端. POP3协议 POP3(Post Office Protocol 3),即邮局协议的第3个版本,是电子邮件的第一个离线协议标准.该协议把邮件下载到本地计算机,不与服务器同步,缺点是更易丢失邮件或多次下载相同的邮件. IMAP协议 IMAP(Internet Mail Access Protocol),即交互式邮件存取协议

  • php使用socket调用http和smtp协议实例小结

    本文实例讲述了php使用socket调用http和smtp协议.分享给大家供大家参考,具体如下: socket发送HTTP请求 http协议请求报文格式 get ## 请求方法 请求文件路径?查询字符串 HTTP/协议版本号 ## Host: 主机名:端口号 ## Connection:close post ## 请求方法 请求文件路径 HTTP/协议版本号 ## Host: 主机名:端口号 ## Content-type: application/x-www-form-urlencoded #

  • Python3利用SMTP协议发送E-mail电子邮件的方法

    前言 本文主要给大家介绍了关于Python3用SMTP协议发送电子邮件的相关内容,在介绍如何使用python程序向指定邮箱发送邮件之前,我们需要先介绍一下有关电子邮件的相关知识. Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务. 几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要搞清楚电子邮件是如何在互联网上运作的. 假设我们自己的电子邮件地址是me@163.com,对方的电子邮件地址是friend@sina.com,现

  • java使用Socket实现SMTP协议发送邮件

    本文实例为大家分享了java 利用Socket实现SMTP协议发送邮件的具体代码,供大家参考,具体内容如下 package mail; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; impo

  • php下使用SMTP发邮件的代码

    最近一个项目需要用到SMTP发送邮件,之前的库类不存在了,又不喜欢安装pear或者使用pear的net/smtp类,感觉太复杂了.就直接从discuz中抽取出核心稍微修改了下.    从协议分析网上,查找到SMTP协议的命令和应答,SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的SMTP命令和接收SMTP反馈的应答来完成的.常用的命令如下:    HELLO<domain><CRLF>识别发送方到接收SMTP的一个HELLO命令    MAIL FROM:<

  • python基于SMTP协议发送邮件

    本文实例为大家分享了python基于SMTP协议发送邮件的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 2018/5/31 @Author : LiuXueWen @Site : @File : sendEmail.py @Software: PyCharm @Description: 使用SMTP协议发送邮件,支持同时发送给多个地址,支持同时发送文本信息.超文本信息和多

  • Python基于SMTP协议实现发送邮件功能详解

    本文实例讲述了Python基于SMTP协议实现发送邮件功能.分享给大家供大家参考,具体如下: SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. Python创建SMTP语法如下: imp

随机推荐