1. 程式人生 > 其它 >關於smtplib傳送郵件報錯的問題:SMTPDataError: (554, 'DT:SPM 163 smtp1

關於smtplib傳送郵件報錯的問題:SMTPDataError: (554, 'DT:SPM 163 smtp1

我在傳送郵件的時候!授權碼各方面都寫正確了!但是卻遇到下面那個異常!

raise SMTPDataError(code, resp)
SMTPDataError: (554, 'DT:SPM 163 smtp14,EsCowABXOeQy9p5hou3fMw--.131S2 1637807667,please see http://mail.163.com/help/help_spam_16.htm?ip=118.193.105.240&hostid=smtp14&time=1637807667')

開始以為是傳送的文字的內容有問題!被當成了是垃圾郵件不允許傳送!然後改了很多次都不行!後來找了很久!才發現是From 和 To 的坑!

有問題的程式碼:
import smtplib
from email.mime.text import MIMEText from email.header import Header mail_host="smtp.163.com" mail_user="*******.com" mail_pass="*******" sender = '******@163.com' receivers = ['******@qq.com','******@163.com'] body_content = """ 測試文字 """ message = MIMEText(body_content, '
plain', 'utf-8') message['From'] = "********@163.com" message['To'] = "******@qq.com" subject = """

改為:

message['Subject'] = Header(subject, 'utf-8')
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.set_debuglevel(1)
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print(
"郵件傳送成功") smtpObj.quit() 這裡的message['From'] 和To 改為 郵箱裡收發郵件的發件人和收件人那種字元格式! message['From'] = "wumian<**********@163.com>" message['To'] = "qishi<**********@qq.com>"

就可以了!!!!!!!!!!!!!!