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选项的列表 '''

 

posted @ 2020-08-26 16:08  Handsome、Snake  阅读(192)  评论(0编辑  收藏  举报