電子郵件(二)

2021-07-22 22:43:04 字數 4601 閱讀 3249

flask-mail中文文件

配置 flask-mail

傳送郵件

大量郵件

附件 單元測試以及禁止傳送郵件

傳送郵件

為了能夠傳送郵件,首先需要建立乙個 message 例項:

from flask_mail import message

defindex

(): msg = message("hello",

sender="[email protected]",

recipients=["[email protected]"])

你能夠設定乙個或者多個收件人:

msg.recipients = ["[email protected]"]

msg.add_recipient("[email protected]")

如果你設定了 mail_default_sender,就不必再次填寫發件人,預設情況下將會使用配置項的發件人:

msg = message("hello",

recipients=["[email protected]"])

msg = message("hello",

sender=("me", "[email protected]"))

assert msg.sender == "me @example.com>"

郵件內容可以包含主體以及/或者 html:

msg.body = "testing"

msg.html = "testing"

最後,傳送郵件的時候請使用 flask 應用設定的 mail 例項:

mail.send(msg)
from flask_mail import mail, message

###主題字首從環境變數獲取

###書上是**:

###他的意思填入管理員的郵箱,flasky admin和<>都得去掉

###flasky_admin從環境變數獲取

...def

send_email

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

###定義send_email()函式的引數分別是收件箱位址,主題,渲染郵件正文的模板和關鍵字引數

###為了能夠傳送郵件,首先需要建立乙個 message 例項,裡面配置了主題字首,傳送人郵件位址,接收人

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

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

###郵件內容可以包含主體以及/或者 html,send_email()裡的關鍵字引數**kwargs傳給render_template()函式,以便在模板中使用

###指定模板是不能包含副檔名,這樣才能使用兩個模板分別渲染純文字正文和富文字正文。

mail.send(msg)

###最後,傳送郵件的時候請使用 flask 應用設定的 mail 例項

...def

index

(): form = nameform()

if form.validate_on_submit():

user = user.query.filter_by(username=form.name.data).first()

if user is

none:

user = user(username=form.name.data)

db.session.add(user)

session['known'] = false

###如果已經在環境設定了'flasky_admin',

###提取他的值,為none不執行,有值執行

'mail/new_user', user=user)

###執行send_mail()函式,

###引數to傳入的是接收者管理員郵件位址,

###subject傳入的是自己提前設定的主題字首,template傳入的是提前設定的模板檔案,

###**kwargs關鍵字引數是user=user,代表的是把表中新填入的名字傳入user變數供send_email()函式中的render_template的關鍵字引數使用,進而替換模板中的user變數。

else:

session['known'] = true

session['name'] = form.name.data

return redirect(url_for('index'))

return render_template('index.html',

form=form,name=session.get('name'),

known=session.get('known', false))

templates/mail資料夾下的兩個資料夾new_user.html和new_user.txt:

電子郵件模板中要有乙個模板引數是使用者,因此呼叫send_email()函式時要以關鍵字引數的形式傳入使用者。

###templates/mail/new_user.html

user

}b> has joined.

###templates/mail/new_user.txt

user

}has joined.

執行命令:

500###缺少從環境接受flasky_admin配置的**

500###這一次是缺少了mail/new_user.txt

###這一次是把書上抄一遍

Flask 電子郵件

snipaste 2018 05 31 22 49 03.png 舉個例子,示例 6 1 展示了如何配置程式,以便使用 google gmail 賬戶傳送電子郵件。初始化 flask mail from flask mail import mail import os 關於賬戶密碼在環境變數中定義m...

關於電子郵件

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

C 接收電子郵件

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