1. 程式人生 > 程式設計 >利用Python傳送郵件或髮帶附件的郵件

利用Python傳送郵件或髮帶附件的郵件

本文使用的是163郵件進行測試。

注:163郵箱現在需要使用客戶端授權碼進行測試,不再支援郵箱密碼進行測試。

1、使用Python發Text 郵件

import smtplib
# 傳送字串的郵件
from email.mime.text import MIMEText

# 設定伺服器所需資訊
fromEmailAddr = '發件人郵箱地址' # 郵件傳送方郵箱地址
password = 'email password' # 密碼(部分郵箱為授權碼)
toEmailAddrs = ['接收方地址'] # 郵件接受方郵箱地址,注意需要[]包裹,這意味著你可以寫多個郵件地址群發

# 設定email資訊
# ---------------------------傳送字串的郵件-----------------------------
# 郵件內容設定
message = MIMEText('hello,test Python send Email.','plain','utf-8')
# 郵件主題
message['Subject'] = 'python test email'
# 傳送方資訊
message['From'] = fromEmailAddr
# 接受方資訊
message['To'] = toEmailAddrs[0]
# ---------------------------------------------------------------------


# 登入併發送郵件
try:
 server = smtplib.SMTP('smtp.163.com') # 163郵箱伺服器地址,埠預設為25
 server.login(fromEmailAddr,password)
 server.sendmail(fromEmailAddr,toEmailAddrs,message.as_string())
 print('success')
 server.quit()
except smtplib.SMTPException as e:
 print("error:",e)

2、使用Python傳送帶附件的郵件

import smtplib
# 傳送字串的郵件
from email.mime.text import MIMEText
# 需要 MIMEMultipart 類
from email.mime.multipart import MIMEMultipart

# 設定伺服器所需資訊
fromEmailAddr = '發件人郵箱地址' # 郵件傳送方郵箱地址
password = 'email password' # 密碼(部分郵箱為授權碼)
toEmailAddrs = ['收件人地址'] # 郵件接受方郵箱地址,注意需要[]包裹,這意味著你可以寫多個郵件地址群發

# 設定email資訊
# ---------------------------傳送帶附件郵件-----------------------------
# 郵件內容設定
message = MIMEMultipart()
# 郵件主題
message['Subject'] = 'python test email'
# 傳送方資訊
message['From'] = fromEmailAddr
# 接受方資訊
message['To'] = toEmailAddrs[0]
# 郵件正文內容
message.attach(MIMEText('hello,test Python send Email','utf-8'))

# 構造附件
att1 = MIMEText(open('text.txt','rb').read(),'base64','utf-8')
att1['Content-type'] = 'application/octet-stream'
att1['Content-Disposition'] = 'attachment; filename="test.zip"'
message.attach(att1)
# ---------------------------------------------------------------------

# 登入併發送郵件
try:
 server = smtplib.SMTP('smtp.163.com') # 163郵箱伺服器地址,埠預設為25
 server.login(fromEmailAddr,e)

以上就是利用Python傳送郵件或髮帶附件的郵件的詳細內容,更多關於python 傳送郵件的資料請關注我們其它相關文章!