使用Flask-Mail提供電子郵件支持

使用pip安裝Flask-Mail

pip install flask-mail

這里使用163的郵箱作為發送者。
注冊163郵箱之后,去設置 -> POP3/SMTP/IMAP(在右側導航欄),然后開啟你的SMTP服務,這時候會讓你設置客戶端授權碼,這個授權碼是重點,一定要記住。

類型 服務器名稱 服務器地址 SSL協議端口號 非SSL協議端口號
發件服務器 SMTP smtp.163.com 465/994 25

把這個表格也關注一下,里面的內容要去寫到配置中去。

源碼:

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協議(transport layer security),而不是SSL協議所以用的是25號端口
app.config['MAIL_USERNAME'] = 'username@163.com'  # 你的郵件賬戶用戶名
app.config['MAIL_PASSWORD'] = 'password'  # 郵件賬戶的密碼,這個密碼是指的授權碼!授權碼!授權碼!

mail = Mail(app)


@app.route('/')
def index():
    msg = Message('你好', sender='username@163.com', recipients=['you@example.com'])
    # 這里的sender是發信人,寫上你發信人的名字,比如張三。
    # recipients是收信人,用一個列表去表示。
    msg.body = '你好'
    msg.html = '<b>你好</b> stranger'
    mail.send(msg)
    return '<h1>郵件發送成功</h1>'


if __name__ == '__main__':
    app.run(debug=True)

值得注意的一點是,如果你是剛剛創建的163的郵箱,你最好先用163郵箱發送一封郵件,因為你在發送第一封郵件的時候,會讓你設置發件人名字,如果不設置的話,你的郵件會被退回。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容