Flask 之 eamil
from flask import Flask from flask_mail import Mail, Message ''' flask 发送邮件 需要下载这个flask的扩展安装包 pip install Flask-Mail 可以在app.config 中配置 ''' app = Flask(__name__) app.config['MAIL_SERVER'] = 'smtp.163.com' app.config['MAIL_PORT'] = '25' app.config['MAIL_USERNAME'] = 'xxxx@163.com' ## 这是163 邮箱的授权码 不是密码 app.config['MAIL_PASSWORD'] = 'xxxx' ''' 配置详细 - MAIL_SERVER : eamil 的 smtp服务器或是主机名,默认为localhost - MAIL_PORT : email 的 smtp服务器端口 默认为25 - MAIL_USE_TLS:默认为False 默认禁用安全层加密 - MAIL_USE_SSL:默认为False 默认禁用安全套接字层加密 - MAIL_DEBUG:默认为app.debug 设置debug 支持 - MAIL_USERNAME:默认为无 用户名 - MAIL_PASSWORD:默认为无 密码 - MAIL_DEFAULT_SENDER:默认为无 发送用户 - MAIL_MAX_EMAILS:默认为无 最大发送邮件数 - MAIL_SUPPRESS_SEND:默认为app.testing - MAIL_ASCII_ATTACHMENTS:默认为False 如果设置成True ,符文件名将会转成ASCII ''' ''' Mail 类 创建一个Mail 对象 (app) Mail 类方法 - send_message(*args, **kwargs) 发送邮件的简洁方法 不可以发送附件 - send(message) 发送邮件方法 ,参数是message 对象 可以发送附件 - connect() 用于发送大量邮件 ''' mail = Mail(app) @app.route('/') def index(): mail.send_message(subject='你好',
# 发件人 sender='xxx@163.com', body='你好,我是163邮箱, 恭喜你中奖了 一本Python 入门到放弃的一本书籍, 请注意查收', recipients=['xxxx@qq.com','xxx@gmail.com'], ) return '邮件发送完成' ''' Message 类 Message 发送附件 attach() 方法 ''' # http://127.0.0.1:5000/message @app.route('/message') def message(): try: msg = Message(subject='你好', sender='xxx@163.com', # body='你好,我是163邮箱, 恭喜你中奖了 一本Python 入门到放弃的一本书籍, 请注意查收', recipients=['xxx@qq.com','xxxx@gmail.com','xxxx@163.com'], ) msg.body = '你好,我是163邮箱, 恭喜你中奖了 一本Python 入门到放弃的一本书籍, 请注意查收' # msg.html = '<h1>你好,我是163邮箱, 恭喜你中奖了 一本Python 入门到放弃的一本书籍, 请注意查收</h1>' # 添加附件 app flask 对象 with app.open_resource('6.jpg') as fp: msg.attach('6.jpg', 'image/jpg', fp.read()) mail.send(msg) # return msg return '邮件发送完成' except: return '邮件发送失败' if __name__ == '__main__': app.run(debug=True) ''' class flask_mail.Message(subject ='',收件人= None,正文= None,html = None,sender = None,cc = None,bcc = None,附件= None,reply_to = None,date = None,charset = None,extra_headers = None,mail_options = None,rcpt_options = None ) 封装电子邮件。 参数: subject –电子邮件主题标题 recipients –电子邮件地址列表 body –纯文本消息 html – HTML消息 sender –电子邮件发件人地址,或默认为MAIL_DEFAULT_SENDER cc – CC清单 bcc -密件抄送列表 attachments –附件实例列表 reply_to –回复地址 date –发送日期 charset –邮件编码 extra_headers –消息的其他标题的字典 mail_options –在MAIL FROM命令中使用的ESMTP选项列表 rcpt_options – RCPT命令中使用的ESMTP选项的列表 '''