【TOOLS】python3利用SMTP进行邮件Email自主发送
生活随笔
收集整理的這篇文章主要介紹了
【TOOLS】python3利用SMTP进行邮件Email自主发送
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019.1.30更新
對于在阿里云服務器上運行本博客有幾處需要改動的地方。
首先因為阿里云服務器里面有很多端口都被限制,所以以下的代碼在本地可以成功,但在云服務器上并出現問題
通過我的不斷實驗,最終成功的為port=587
并且我發送的郵件改為qq郵箱,接受為網易163郵箱,服務器host也改為"smtp.qq.com"
qq郵箱授權碼獲取方式在以下ps中講解
一、前言
利用python進行郵件的發送,這個功能自我感覺主要應用于檢測或者報告之類,我兩次運用這個功能。
- 第一次用在主要發送實時的數據給一個郵箱
- 第二次用是檢測掛在服務器端一直再跑的python程序是否出現異常情況。
我這里采用163郵箱(sender)給qq郵箱(receiver)發送文本類郵件
二、提取163郵箱的客戶端授權密碼
首先登陸163郵箱的網頁版本。
最后點擊開啟,自己設置密碼即可。
之后這個密碼不要忘記了,代碼中要用到。
三、代碼
show you my code
from smtplib import SMTP from email.mime.text import MIMEText from email.header import Header"""function: 利用模型進行推理Parameters:SMTP_host: string類型,SMTP 服務器主機ip地址。 這里為 "smtp.163.com" from_addr: string類型,發送方,也就是作用為發送郵件的郵箱地址 password: string類型,郵箱的授權碼,而不是郵箱的登陸密碼,可從郵箱獲得,就是上面二所講獲取的授權碼。to_addrs: list里面嵌套string類型,接收郵件的郵箱地址,可以有多個接收郵件的郵箱地址。subject: string類型,主題content: string類型,內容Returns:CSDN:http://blog.csdn.net/qq_33431368""" def send_email(SMTP_host, from_addr, password, to_addrs, subject, content):email_client = SMTP(SMTP_host) #初始化 SMTP類,SMTP服務使用的端口號默認為25,這里默認情況,也可自己設置port參數email_client.login(from_addr, password) #登陸服務器# 以下在下面的結果圖片中再具體標出說明msg = MIMEText(content, 'plain', 'utf-8') #可以理解為發送這個郵箱內容的類,這句話主要是設置這個郵件內容msg['Subject'] = Header(subject, 'utf-8') # 設置郵箱主題,也就是標題msg['From'] = from_addr # 這個是最后顯示的郵件的frommsg['To'] = "".join(to_addrs) # 這個是最后顯示的郵件的toemail_client.sendmail(from_addr, to_addrs, msg.as_string()) #發送信息,將msg轉換為stringemail_client.quit()# 退出服務器if __name__ == "__main__":hoster = "smtp.163.com"sender_email = "XXXXXXXXX@163.com"Authorization_code= "XXXXXXXXXXX"receiver_email = ["XXXXXXXX@qq.com"]# 這里如果需要發送多個郵箱,形式為["xxxqq.com","xxx163.com","xxx126.com"]subject = "我發送郵件了"text = "今天天氣真好"send_email(hoster, sender_email, Authorization_code, receiver_email, subject, text)四、結果
可能出現這個問題
smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp12,
解決方案,把測試和test類似的語句換掉,比如我的demo code中的比較正常的語言即可。
接收郵箱顯示。
有subject和content對應。
ps(2019.1.30):
獲取qq郵箱授權碼
點擊開啟,給qq官方發送一個短信即可獲得,別忘了復制保存。
修改后的代碼有改動,請自己對照使用,親測好用
結果
總結
以上是生活随笔為你收集整理的【TOOLS】python3利用SMTP进行邮件Email自主发送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这里是通过QQ邮箱 sina新浪邮箱
- 下一篇: websocket python爬虫_p