使用python實現傳送帶附件的郵件

2021-10-07 19:21:26 字數 3517 閱讀 5081

python中的smtplib模組是內建的傳送郵件模組。

在使用smtp模組傳送郵件之前,需要先開啟郵箱的smtp服務

以qq郵箱為例:

設定-賬戶-smtp服務,根據提示開通smtp服務,記錄授權碼

smtp = smtplib.smtp_ssl(host=

"smtp.qq.com"

, port=

465)

smtp.login(user=

'',password=

'')

3.1.1 匯入構造文字郵件的類
from email.mime.text import mimetext
3.1.2 編輯郵件資訊
msg = mimetext(_text=

"0612的測試郵件"

, _charset=

'utf8'

)

3.2.1 讀取html檔案內容
with

open

(file

=r'******.html'

,mode=

'r',encoding=

'utf8'

)as f:

content=f.read(

)

3.2.2 將html檔案內容新增到郵件正文
msg = mimetext(_text=content, _charset=

'utf8'

,_subtype=

'html'

)msg[

'subject']=

'測試郵件'

msg[

"to"]=

"******.com"

msg[

"from"]=

"******.com"

3.3.1 模組匯入

mimemultipart類用於構造多元件郵件

from email.mime.multipart import mimemultipart
3.3.2 構造多元件郵件
msg = mimemultipart(

)msg[

'subject']=

'測試郵件'

msg[

"to"]=

"******@163.com"

msg[

"from"]=

"******@qq.com"

3.3.4 編輯郵件的文字內容

編輯完成後,需要通過msg.attach(text)將編輯好的文字內容新增到郵件中

text=mimetext(_text=

"這是乙個帶附件的郵件"

,_charset=

'utf8'

)msg.attach(text)

3.3.5 構造附件

3.3.5.1 讀取郵件內容

這裡讀取檔案的時候需要使用rb模式

with

open

(file

=r'd:\***xx.html'

,mode=

'rb'

)as f:

data=f.read(

)

3.3.5.2 構造附件並新增至郵件

msg.attach(report)

3.3.5.3 給附件新增header

report.add_header(

'content-disposition'

,'attachment'

, filename=

'report.html'

)

smtp.send_message(msg=msg,from_addr=

'',to_addrs='')

# 單個收件人

smtp.send_message(msg=msg,from_addr=

'',to_addrs=

['收件人一'

,'收件人二'])

# 多個收件人

import smtplib

from email.mime.multipart import mimemultipart

from email.mime.text import mimetext

"""傳送帶附件郵件的完整**

"""class

handleemail()

:def

handle_email

(self)

:# step1 連線smtp伺服器並登陸

smtp = smtplib.smtp_ssl(host=

'smtp.qq.com'

, port=

465)

smtp.login(user=

'***[email protected]'

, password=

'***xx'

)# 構造多元件郵件並完善郵件描述性資訊

msg = mimemultipart(

) msg[

'subject']=

'帶附件的郵件-01'

msg[

'from']=

'******@qq.com'

msg[

'to']=

'***[email protected]'

# 新增郵件的文字內容

text = mimetext(_text=

'這是郵件正文的內容'

, _charset=

'utf8'

) msg.attach(text)

# 新增附件和附件header

with

open

(file

=r'******xx\report.html'

, mode=

'rb'

)as f:

content = f.read(

) attachment.add_header(

'content-disposition'

,'attachment'

, filename=

'report.html'

) msg.attach(attachment)

# 傳送郵件

smtp.send_message(msg=msg, from_addr=

'******[email protected]'

, to_addrs=

'***[email protected]'

)if __name__ ==

'__main__'

: e_mail = handleemail(

) e_mail.handle_email(

)

python傳送帶附件郵件

1.不包括附件的郵件 coding utf 8 import smtplib import string 傳送普通的文字郵件 郵件smtp的位址 host smtp.163.com 定義郵件的標題 subject 這是郵件標題 發件人 from 163.com 收件人 to qq.com 傳送的郵件...

如何使用Python傳送帶附件的郵件

1 首先要理解乙個常識 rfc rfc the request for comments 是乙個關於internet各種標準的文件,定義了很多的網路協議和資料格式,標準的internet郵件遵從rfc2822 internet message format 等幾個文件,其中rfc822中描述了郵件頭...

Python 傳送帶附件的郵件

usr bin python3 import smtplib from email.mime.text import mimetext from email.mime.multipart import mimemultipart from email.header import header sen...