我在發送郵件的時候!授權碼各方面都寫正確了!但是卻遇到下面那個異常!
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>"
就可以了!!!!!!!!!!!!!!