1. 程式人生 > >【一】Python3使用SMTP傳送簡單文字郵件

【一】Python3使用SMTP傳送簡單文字郵件

一、設定開啟SMTP服務並獲取授權碼

0.如果使用第三方郵件伺服器SMTP服務來發送郵件,首先要在郵箱設定裡面開啟POP3/SMTP/IMAP服務,下面以163郵箱為例,其它郵箱設定方法相同

163郵箱SMTP伺服器:smtp.163.com

QQ郵箱SMTP伺服器:smtp.qq.com

1.首先登入自己的郵箱,找到【設定】》【POP3/SMTP/IMAP】,開啟相應的服務



2.然後開啟並獲取客戶端授權碼(這裡的授權碼並不是登入郵箱時的密碼,而是第三方郵箱服務使用的授權碼)


二、使用Python3 傳送郵件

0.使用的環境為: Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit) 1.實現程式碼:
import smtplib
from email.header import Header                  # 用來設定郵件頭和郵件主題
from email.mime.text import MIMEText             # 傳送正文只包含簡單文字的郵件,引入MIMEText即可

# 發件人和收件人
sender = '
[email protected]
' receiver = '[email protected]' # 所使用的用來發送郵件的SMTP伺服器 smtpServer = 'smtp.163.com' # 傳送郵箱的使用者名稱和授權碼(不是登入郵箱的密碼) username = 'XXXXXXXXXXX' password = 'XXXXXXXX' mail_title = '這裡是郵件的主題' mail_body = '這裡是郵件的正文' # 建立一個例項 message = MIMEText(mail_body, 'plain', 'utf-8') # 郵件正文 message['From'] = sender # 郵件上顯示的發件人 message['To'] = receiver # 郵件上顯示的收件人 message['Subject'] = Header(mail_title, 'utf-8') # 郵件主題 try: smtp = smtplib.SMTP() # 建立一個連線 smtp.connect(smtpServer) # 連線傳送郵件的伺服器 smtp.login(username, password) # 登入伺服器 smtp.sendmail(sender, receiver, message.as_string()) # 填入郵件的相關資訊併發送 print("郵件傳送成功!!!") smtp.quit() except smtplib.SMTPException: print("郵件傳送失敗!!!")
2.傳送成功之後,如果在收件人的郵箱看不到郵件,可能是被當做垃圾郵件攔截了,可以去攔截記錄裡面找一下 傳送方傳送的郵件:
接收方收到的郵件:
3.這裡是傳送最簡單的格式的郵件的示例,正文只包含文字 還可以傳送: 正文為HTML格式的郵件 包含附件的郵件(附件可以是HTML網頁,TXT文字,JPG圖片,以及音訊、視訊等) 後面繼續講(笑臉)