您当前的位置:首页 > 计算机 > 编程开发 > Python

Python+flask+flask-email发送带附件的电子邮件

时间:12-25来源:作者:点击数:

运行下面的程序之前,需要使用pip install flask-mail安装电子邮件扩展包。

import os.path
from flask import Flask
from flask.ext.mail import Mail, Message

app = Flask(__name__)
#以126免费邮箱为例
app.config['MAIL_SERVER'] = 'smtp.126.com'
app.config['MAIL_PORT'] = 25
app.config['MAIL_USE_TLS'] = True
#如果电子邮箱地址是abcd@126.com,那么应填写abcd
app.config['MAIL_USERNAME'] = 'your own username of your email'
app.config['MAIL_PASSWORD'] = 'your own password of the username'

def sendEmail(From, To, Subject, Body, Html, Attachments):
    '''To:must be a list'''
    msg = Message(Subject, sender=From, recipients=To)
    msg.body = Body
    msg.html = Html
    for f in Attachments:
        with app.open_resource(f) as fp:
            msg.attach(filename=os.path.basename(f), data=fp.read(),
                     content_type = 'application/octet-stream')
    mail = Mail(app)
    with app.app_context():
        mail.send(msg)

if __name__ == '__main__':
    #From填写的电子邮箱地址必须与前面配置的相同
    From = '<your email address>'
    #目标邮箱地址,可以替换为自己的QQ邮箱地址
    To = ['<1234567@qq.com>']
    Subject = 'hello world'
    Body = 'Only a test.'
    Html = '<h1>test test test.</h1>'
    Attachments =['c:\\python35\\python.exe']
    sendEmail(From, To, Subject, Body, Html, Attachments)

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门