本篇主要重點總結下如何通過使用python庫模組傳送郵件(qq郵件,@163郵件等)
二:直接上**
# smtplib 用於郵件的發信動作
import smtplib
# email 用於構建郵件內容
from email.mime.text import mimetext
# 用於構建郵件頭
from email.header import header
#用於構建附件
from email.mime.multipart import mimemultipart
#用於構建
from email.mime.image import mimeimage
class
mail
:'定義乙個郵箱類'
#初始化傳送方,接收方的郵箱資訊
def__init__
(self, mailserver, mailport, frommail, authentication, tomail)
: self.mailserver = mailserver
self.mailport = mailport
self.frommail = frommail
self.password = authentication
self.tomail = tomail
defmake_mail
(self, head, content)
: msgs = content
msgs[
'from'
]= header(self.frommail)
msgs[
'to'
]= header(self.tomail)
msgs[
'subject'
]= header(head)
return msgs
defsend_mail
(self, msgs)
:print
("開啟郵件服務"
) server = smtplib.smtp_ssl(host=self.mailserver)
# 開啟發信服務,這裡使用的是加密傳輸
#print("連線伺服器")
server.connect(host=self.mailserver, port=self.mailport)
#print("登入伺服器")
server.login(self.frommail, self.password)
#print("傳送郵件")
server.sendmail(self.frommail, self.tomail, msgs.as_string())
print
("傳送郵件成功"
) server.quit(
)# 關閉伺服器
#構建普通文字內容的郵件
defbuild_text
(msg, types)
: mail_msg = mimetext(msg, types,
'utf-8'
)return mail_msg
#構建內容帶網頁鏈結的郵件
defbuild_html
(types)
: htmls =
""" 傳送html鏈結郵件
"""mail_msg = mimetext(htmls, types,
'utf-8'
)return mail_msg
#構建內容帶附件的郵件
defbuild_enclosure
(types)
: mail_msg = mimemultipart(
)#構建郵件傳送資訊**及目的
#構建郵件正文內容
mail_msg.attach(mimetext(
'附件傳送測試'
, types,
'utf-8'))
# 構造附件1,傳送當前目錄下的 test.txt 檔案
att1 = mimetext(
open
(r'c:\users\administrator\desktop\test.txt'
,'rb'
).read(),
'base64'
,'utf-8'
) att1[
"content-type"]=
# 這裡的filename可以任意寫,寫什麼名字,郵件中顯示什麼名字
att1[
"content-disposition"]=
'attachment; filename="test.txt"'
mail_msg.attach(att1)
return mail_msg
#構建html文字中帶的郵件
defbuild_html_img
(types)
: msgroot = mimemultipart(
'related'
) msgalternative = mimemultipart(
'alternative'
) msgroot.attach(msgalternative)
mail_msg =
""" html+img鏈結郵件測試
"""msgalternative.attach(mimetext(mail_msg, types,
'utf-8'))
# 指定為當前目錄
)# 定義 id,在 html 文字中引用
msgimage.add_header(
'content-id',''
) msgroot.attach(msgimage)
return msgroot
if __name__ ==
"__main__"
:try
:#content = build_text('plain')
#content = build_html('plain')
#content = build_enclosure('plain')
content = build_html_img(
'html'
) header =
'傳送郵件測試'
#print(content)
mail = mail(
'smtp.qq.com'
,465
,'zndzkclqgpobjfid'
)print
("構建郵件內容"
) msgs = mail.make_mail(header, content)
print
("傳送郵件"
) mail.send_mail(msgs)
print
("郵件傳送成功"
)except exception as e:
print
("異常!!!"
)
這裡只需要修改郵箱位址和授權碼為您的即可,如果需要傳送其它內容只需要改寫或者重寫郵件構建函式執行結果如下: 機場資訊(深圳 武漢)
深圳機場大巴乘車資訊 從深圳的市中心打車去的120元.1 從羅湖口岸到華聯大廈,除了計程車外,可以乘坐215路到 興華賓館 站,或 者乘坐25路及12路到 科學館 站下車即可。2 凡購買南航 cz 上航 fm 廈航 mf 川航 3u 海航 hu 鷹聯 eu 機票的旅客請在a號候機樓下車乘機 凡購買深...
題解 洛谷P6057 加油武漢 七步洗手法
給定一張含有 n 個點的無向完全圖,其中 m 條邊是白邊,其餘是黑邊。現在需要你求出同色的三元環 或者說,三角形 的個數。同色三元環?不認識?就是讓你求這個圖裡面有幾個三條邊是同色的三角形 1 o nm 暴力,然鵝t了 2 數學法 逃 同色三角形其實難算,那麼我們可以算異色三角形,用三角形的總個數減...
燃爆朋友圈!中國設計師攜手,用海報為武漢加油!
戰 疫 之下,眾志成城。有人奔赴前線,逆流而上 有人捐資捐物,貢獻力量 而響應號召不出門的人群也在用另一種方式加油助力。雖然設計師不能成為奮戰在第一線的白衣戰士,但手中的畫筆就是他們的 設計師們精心創作了一幅幅優質海報。從這些優質海報中,我們能感受到滿滿的力量和熱血。插畫在中國被人們俗稱為插圖,延伸...