Flask 電子郵件

2021-08-21 10:06:48 字數 1519 閱讀 6402

snipaste_2018-05-31_22-49-03.png

舉個例子,示例 6-1 展示了如何配置程式,以便使用 google gmail 賬戶傳送電子郵件。

#初始化 flask-mail

from flask_mail import mail

import os

# ...

關於賬戶密碼在環境變數中定義
mac os x 中使用 bash,那麼可以按照下面的方式設定這兩個變數:

(venv) $ export mail_username=(venv) $ export mail_password=微軟 windows 使用者可按照下面的方式設定環境變數:

(venv) $ set mail_username=(venv) $ set mail_password=

為了避免每次都手動編寫電子郵件訊息,我們最好把程式傳送電子郵件的通用部分抽象出來,定義成乙個函式。這麼做還有個好處,即該函式可以使用 jinja2 模板渲染郵件正文,靈活性極高。

from flask.ext.mail import message

#引數分別是 收件人位址、主題、渲染郵件正文的模板和關鍵字引數列表

def send_email(to, subject, template, **kwargs):

msg.body = render_template(template + '.txt', **kwargs)

msg.html = render_template(template + '.html', **kwargs)

# 傳送郵件

mail.send(msg)

# 主題, 傳送人 , 收件人   收件人要用列表
mail.send() 函式在傳送電子郵件時停滯了幾秒鐘,在這個過程中瀏覽器就像無響應一樣。為了避免處理請求過程中不必要的延遲,我們可以把傳送電子郵件的函式移到後台執行緒中。

from threading import thread # 匯入執行緒模組

# 傳送郵件執行緒函式

# 開啟上下文 否則無法傳送

mail.send(msg)

# 傳送郵件整體函式

def send_email(to, subject, template, **kwargs):

msg.body = render_template(template + '.txt', **kwargs)

msg.html = render_template(template + '.html', **kwargs)

thr.start()

return thr

不過要記住,程式要傳送大量電子郵件時,使用專門傳送電子郵件的作業要比給每封郵件都新建乙個執行緒更合適。例如,我們可以把執行 send_async_email() 函式的操作發給 celery(任務佇列。

電子郵件(二)

flask mail中文文件 配置 flask mail 傳送郵件 大量郵件 附件 單元測試以及禁止傳送郵件 傳送郵件 為了能夠傳送郵件,首先需要建立乙個 message 例項 from flask mail import message defindex msg message hello sen...

關於電子郵件

好了,今天來討論電子郵件。電子郵件是非常優雅和浪漫的交流方式 郵件的電子表示方式。它擁有前輩的很多優點,在某些方面上甚至超出了前輩。但是,你雖然可以把信紙換成薰衣草的顏色,你卻無論如何也無法發出有薰衣草香氣的信來。有時候,歪歪扭扭的手寫字,要比你選擇的任何字型都能代表你的心意。你休想拿電子郵件寫出完...

C 接收電子郵件

類名 pop3 功能 接收電子郵件 using system using system.net.sockets using system.net using system.security.cryptography using system.io namespace ztsx.email 建構函式 ...