python smtplib使用163發送郵件 報錯 554 DT:SPM


最近想弄個發送郵件的腳本,代碼一切正常,執行發送郵件就會報 “554 DT:SPM 發送的郵件內容包含了未被許可的信息,或被系統識別為垃圾郵件。請檢查是否有用戶發送病毒或者垃圾郵件;” 郵件正文內容反復更改還是不起作用。

參考https://blog.csdn.net/sinat_21302587/article/details/60574393的思路進行了更改仍然報錯。

繼續查找解決辦法發現https://blog.csdn.net/weixin_41789943/article/details/82348946的方法非常有效,趕緊記錄下來。

以下轉自https://blog.csdn.net/weixin_41789943/article/details/82348946

開始以為是傳送的文本的內容有問題!被當成了是垃圾郵件不允許發送!然后改了很多次都不行!后來找了很久!才發現是From 和 To 的格式不正確!不能只填寫地址,要仿照郵箱顯示地址的格式輸入From和To,類似

張三<**********@qq.com>

 

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>"

然后就發送成功了! 666


免責聲明!

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



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