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