运行下面的程序之前,需要使用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)