您好,登錄后才能下訂單哦!
小編給大家分享一下python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
python的五大特點(diǎn):1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο?,與其他主要的語言如C++和Java相比, Python以一種非常強(qiáng)大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺上運(yùn)行。4.解釋性,Python語言寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
SMTP協(xié)議
首先了解SMTP(簡單郵件傳輸協(xié)議),郵件傳送代理程序使用SMTP協(xié)議來發(fā)送電郵到接收者的郵件服務(wù)器。SMTP協(xié)議只能用來發(fā)送郵件,不能用來接收郵件,而大多數(shù)的郵件發(fā)送服務(wù)器都是使用SMTP協(xié)議。SMTP協(xié)議的默認(rèn)TCP端口號是25。
發(fā)送郵件之前的配置:
上面說了是使用SMTP協(xié)議發(fā)送的郵件,所以需要先查看你的發(fā)件人郵箱是否有開啟SMTP協(xié)議,如沒有,則需要開啟,我測試使用的是163.com的郵箱作為發(fā)信人郵箱,在設(shè)置中開啟SMTP協(xié)議如下圖所示。
??測試的前提是你需要開通客戶端授權(quán),開通后會讓你設(shè)置密碼,那個密碼要記好,下面的passwd接收的是授權(quán)密碼而不是郵箱密碼!否則會出現(xiàn)下圖所示的錯誤提示:
小栗子:
import smtplib from email.header import Header from email.mime.text import MIMEText # 第三方 SMTP 服務(wù) mail_host = "smtp.163.com" # SMTP服務(wù)器 mail_user = "***" # 用戶名 mail_pass = "***" # 授權(quán)密碼,非登錄密碼 sender = ***@163.com' # 發(fā)件人郵箱(最好寫全, 不然會失敗) receivers = [***@qq.com'] # 接收郵件,可設(shè)置為你的QQ郵箱或者其他郵箱 content = '我用Python' title = '人生苦短' # 郵件主題 def sendEmail(): message = MIMEText(content, 'plain', 'utf-8') # 內(nèi)容, 格式, 編碼 message['From'] = "{}".format(sender) message['To'] = ",".join(receivers) message['Subject'] = title try: smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 啟用SSL發(fā)信, 端口一般是465 smtpObj.login(mail_user, mail_pass) # 登錄驗證 smtpObj.sendmail(sender, receivers, message.as_string()) # 發(fā)送 print("mail has been send successfully.") except smtplib.SMTPException as e: print(e) def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content): email_client = smtplib.SMTP(SMTP_host) email_client.login(from_account, from_passwd) # create msg msg = MIMEText(content, 'plain', 'utf-8') msg['Subject'] = Header(subject, 'utf-8') # subject msg['From'] = from_account msg['To'] = to_account email_client.sendmail(from_account, to_account, msg.as_string()) email_client.quit() if __name__ == '__main__': sendEmail() # receiver = '***' # send_email2(mail_host, mail_user, mail_pass, receiver, title, content)
以上是“python3怎么實現(xiàn)163郵箱SMTP發(fā)送郵件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。