新聞中心
經(jīng)測試可用的發(fā)送郵件代碼:

創(chuàng)新互聯(lián)公司是一家專業(yè)提供北塔企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為北塔眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
import smtplib from email.mime.text import MIMEText # 第三方 SMTP 服務(wù) mail_host = "smtp.163.com" # SMTP服務(wù)器 mail_user = "username" # 用戶名 mail_pass = "passwd" # 密碼(這里的密碼不是登錄郵箱密碼,而是授權(quán)碼) sender = '[email protected]' # 發(fā)件人郵箱 receivers = ['[email protected]'] # 接收人郵箱 content = 'python Send Mail !' title = 'Python SMTP Mail Test' # 郵件主題 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)
問題解決與注意點(diǎn):
1.報(bào)錯:Error: A secure connection is requiered(such as ssl)
解決:因?yàn)猷]箱SSL驗(yàn)證的問題,因此把smtplib.SMTP()改成smtplib.SMTP_SSL(),端口號為465。
2.報(bào)錯:535, b'Error: authentication failed'
解決:可能是由于用戶名不正確,因此代碼中的用戶名應(yīng)該填寫為郵箱地址@前面部分 ,或是在郵箱設(shè)置的帳戶昵稱。
3.SMTP服務(wù)器可根據(jù)發(fā)送的郵箱做相應(yīng)的選擇,如代碼中使用163郵箱則設(shè)為mail_host = "smtp.163.com",
可以改成"smtp.126.com"、"smtp.qq.com"等等。
4.代碼中的密碼mail_pass為授權(quán)碼,并非郵箱密碼,授權(quán)碼用于登錄第三方郵件客戶端的專用密碼,
QQ郵箱可通過設(shè)置→帳戶→生成授權(quán)碼;網(wǎng)易郵箱126/163可通過設(shè)置→客戶端授權(quán)密碼。
眾多python培訓(xùn)視頻,盡在python學(xué)習(xí)網(wǎng),歡迎在線學(xué)習(xí)!
網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:python中執(zhí)行smtplib失敗怎么解決
文章URL:http://fisionsoft.com.cn/article/dpdgiph.html


咨詢
建站咨詢
