一、設置開啟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 = 'XXXXXXXXXXX@163.com' receiver = 'XXXXXXXXX@qq.com' # 所使用的用來發送郵件的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圖片,以及音頻、視頻等)
后面繼續講
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答