利用Python傳送郵件或髮帶附件的郵件
阿新 • • 發佈:2020-11-13
本文使用的是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 傳送郵件的資料請關注我們其它相關文章!