關於發郵件報錯535 Error:authentication failed解決方法


寫在最前面

相信看到535報錯的同學代碼編寫方面都沒有問題,只是不明白為什么填寫了帳號密碼后還是報535錯誤,這里我以163郵箱為例,並使用Python講解怎么解決535問題

代碼如下:

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

msg = MIMEText('老大,我今天需要請假。', 'plain', 'utf-8')  # 發送內容
msg['From'] = formataddr(["frank", 'xxxxxxx@163.com'])  # 發件人
msg['To'] = formataddr(["jack", 'xxxx@qq.com'])  # 收件人
msg['Subject'] = "【請回復】"  # 主題

server = smtplib.SMTP("smtp.163.com", 25) # SMTP服務
server.login("xxxxxx@163.com", "密碼") # 郵箱用戶名和密碼  把密碼改成授權碼就行了
server.sendmail('xxxxxx@163.com', ['xxxxxxxx@qq.com', ], msg.as_string()) # 發送者和接收者
server.quit()

運行后:

Traceback (most recent call last):
  File "mail.py", line 18, in <module>
    smtp.login( username, password )  
  File "/usr/lib64/python2.6/smtplib.py", line 589, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed')

解決辦法:

調用163郵箱服務器來發送郵件,我們需要開啟POP3/SMTP服務,這時163郵件會讓我們設置客戶端授權碼,這個授權碼替代上面代碼部分的passwd即可成功發送郵件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM