ホームページ  >  に質問  >  本文

python3 使用smtplib发送邮件错误554

python3使用smtplib和MIME发送邮件失败

代码:

from smtplib import SMTP
from email.mime.text import MIMEText
from email.header import Header

def send_email(SMTP_host, from_addr, password, to_addrs, subject, content):
    email_client = SMTP(SMTP_host)
    email_client.login(from_addr, password)
    # create msg
    msg = MIMEText(content,'plain','utf-8')
    msg['Subject'] = Header(subject, 'utf-8')#subject
    msg['From'] = 'main<xxxxx@163.com>'
    msg['To'] = "xxxxx@126.com"
    email_client.sendmail(from_addr, to_addrs, msg.as_string())

    email_client.quit()

if __name__ == "__main__":
    send_email("smtp.163.com","xxxxx@163.com","password","xxxxx@126.com","test","hellow")
    

运行错误:

Traceback (most recent call last):
...
  File "D:/bioinformatics/python脚本/mai.py", line 14, in send_email
    email_client.sendmail(from_addr, to_addrs, msg.as_string())
  File "D:\软件\python\lib\smtplib.py", line 799, in sendmail
    raise SMTPDataError(code, resp)
smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp8,DMCowACX58anaFJX9+uwAA--.20172S2 1465018537,please see http://mail.163.com/help/help_spam_16.htm?ip=219.143.13.117&hostid=smtp8&time=1465018537')

在网上找了很多方法,把防火墙也关了,修改了发件人收件人名称,但还是没有效果,真的不知道是什么原因。。

大家讲道理大家讲道理2764日前907

全員に返信(4)返信します

  • 大家讲道理

    大家讲道理2017-04-17 17:53:33

    最後に、解決策を見つけました。
    メールの件名が「test」の場合、エラーが発生します。別の単語に変更するだけです。 。奇妙な理由はわかりません

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 17:53:33

    エラー レポートは非​​常に明確ではありませんか:
    エラーからのリンク: http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

    554 DT: SPM によって送信された電子メールの内容には、不正な情報が含まれているか、システムによってスパムとして識別されています。ユーザーがウイルスやスパムを送信していないか確認してください。

    必要なのは、投稿した内容を確認することです。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 17:53:33

    1) ゴミ箱をチェックして、メールがゴミ箱に捨てられていないことを確認します。
    2) From と To がコンテンツと一致している必要があります。矛盾したフィールドを入力しないでください。入力しないと、メールがフィルタされます。メールサーバー。
    以下のコードをテストすると、163 メールボックスを使用して QQ メールボックスに電子メールを送信できます。

    リーリー

    返事
    0
  • PHPz

    PHPz2017-04-17 17:53:33

    これは実際に当てはまります。送信者と受信者が正常に送信するには、163 台のサーバーが必要です。そうしないと、エラーが報告されます。

    返事
    0
  • キャンセル返事