使用pip安裝Flask-Mail
pip install flask-mail
這里使用163的郵箱作為發(fā)送者位谋。
注冊163郵箱之后,去設(shè)置 -> POP3/SMTP/IMAP(在右側(cè)導航欄)隆圆,然后開啟你的SMTP服務锦担,這時候會讓你設(shè)置客戶端授權(quán)碼,這個授權(quán)碼是重點凉倚,一定要記住兼都。
類型 | 服務器名稱 | 服務器地址 | SSL協(xié)議端口號 | 非SSL協(xié)議端口號 |
---|---|---|---|---|
發(fā)件服務器 | SMTP | smtp.163.com | 465/994 | 25 |
把這個表格也關(guān)注一下,里面的內(nèi)容要去寫到配置中去稽寒。
源碼:
from flask import Flask
from flask.ext.mail import Mail, Message
app = Flask(__name__)
# 下面是SMTP服務器配置
app.config['MAIL_SERVER'] = 'smtp.163.com' # 電子郵件服務器的主機名或IP地址
app.config['MAIL_PORT'] = 25 # 電子郵件服務器的端口
app.config['MAIL_USE_TLS'] = True # 啟用傳輸層安全
# 注意這里啟用的是TLS協(xié)議(transport layer security)扮碧,而不是SSL協(xié)議所以用的是25號端口
app.config['MAIL_USERNAME'] = 'username@163.com' # 你的郵件賬戶用戶名
app.config['MAIL_PASSWORD'] = 'password' # 郵件賬戶的密碼,這個密碼是指的授權(quán)碼!授權(quán)碼!授權(quán)碼!
mail = Mail(app)
@app.route('/')
def index():
msg = Message('你好', sender='username@163.com', recipients=['you@example.com'])
# 這里的sender是發(fā)信人,寫上你發(fā)信人的名字杏糙,比如張三慎王。
# recipients是收信人,用一個列表去表示宏侍。
msg.body = '你好'
msg.html = '<b>你好</b> stranger'
mail.send(msg)
return '<h1>郵件發(fā)送成功</h1>'
if __name__ == '__main__':
app.run(debug=True)
值得注意的一點是赖淤,如果你是剛剛創(chuàng)建的163的郵箱,你最好先用163郵箱發(fā)送一封郵件谅河,因為你在發(fā)送第一封郵件的時候咱旱,會讓你設(shè)置發(fā)件人名字,如果不設(shè)置的話绷耍,你的郵件會被退回吐限。