python3實(shí)現(xiàn)163郵箱SMTP發(fā)送郵件
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è)置密碼,那個(gè)密碼要記好,下面的passwd接收的是授權(quán)密碼而不是郵箱密碼!否則會出現(xiàn)下圖所示的錯(cuò)誤提示:

小栗子:
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) # 登錄驗(yàn)證
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)
如果測試出現(xiàn)報(bào)錯(cuò),請看網(wǎng)易郵箱給出的狀態(tài)碼及含義。
菜鳥教程也有詳細(xì)教程。
本文有參考孫華強(qiáng)的博客,十分感謝。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)給qq郵箱發(fā)送郵件的方法
- Python使用QQ郵箱發(fā)送Email的方法實(shí)例
- python利用smtplib實(shí)現(xiàn)QQ郵箱發(fā)送郵件
- python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例
- 淺談Python用QQ郵箱發(fā)送郵件時(shí)授權(quán)碼的問題
- python實(shí)現(xiàn)QQ郵箱/163郵箱的郵件發(fā)送
- python使用QQ郵箱實(shí)現(xiàn)自動發(fā)送郵件
- python實(shí)現(xiàn)自動獲取IP并發(fā)送到郵箱
- python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能
- python實(shí)現(xiàn)郵箱發(fā)送信息
相關(guān)文章
Python插件virtualenv搭建虛擬環(huán)境
這篇文章主要為大家詳細(xì)介紹了Python插件virtualenv搭建虛擬環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
django中send_mail功能實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了關(guān)于django中send_mail功能實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02
淺談Python 字符串格式化輸出(format/printf)
下面小編就為大家?guī)硪黄獪\談Python 字符串格式化輸出(format/printf)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07
python深度學(xué)習(xí)標(biāo)準(zhǔn)庫使用argparse調(diào)參
這篇文章主要為大家介紹了python深度學(xué)習(xí)標(biāo)準(zhǔn)庫使用argparse調(diào)參實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Python+opencv 實(shí)現(xiàn)圖片文字的分割的方法示例
這篇文章主要介紹了Python+opencv 實(shí)現(xiàn)圖片文字的分割的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python?OpenCV實(shí)現(xiàn)人物動漫化效果
這篇文章主要介紹了利用Python和OpenCV實(shí)現(xiàn)人物的動漫化特效,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python和OpenCV有一定的幫助,需要的可以了解一下2022-01-01

