cari

Rumah  >  Soal Jawab  >  teks badan

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')

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

大家讲道理大家讲道理2803 hari yang lalu924

membalas semua(4)saya akan balas

  • 大家讲道理

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

    Akhirnya saya menemui penyelesaian:
    Ralat akan berlaku apabila subjek e-mel adalah 'ujian', cuma tukar kepada perkataan lain. . Saya tidak tahu apa sebab peliknya

    balas
    0
  • 大家讲道理

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

    Bukankah laporan Ralat sangat jelas:
    Pautan daripada ralat: http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

    554 DT: Kandungan e-mel yang dihantar oleh SPM mengandungi maklumat yang tidak dibenarkan atau dikenal pasti sebagai spam oleh sistem. Sila semak jika mana-mana pengguna menghantar virus atau spam

    Apa yang anda perlukan ialah menyemak kandungan apa yang anda siarkan.

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 17:53:33

    1) Periksa tong sampah untuk memastikan e-mel tidak dibuang ke dalam tong sampah
    2) Daripada dan Kepada mesti konsisten dengan kandungan yang tidak konsisten, jika tidak, ia akan ditapis oleh pelayan mel.
    Jika anda menguji kod di bawah, anda boleh menggunakan peti mel 163 untuk menghantar e-mel ke peti mel QQ.

    def send_email(SMTP_host, from_account, from_passwd, to_account, subject, content):
        email_client = SMTP(SMTP_host)
        email_client.login(from_account, from_passwd)
        # create msg
        msg = MIMEText(content, 'plain', 'utf-8')
        msg['Subject'] = Header(subject, 'utf-8')  # subject
        msg['From'] = from_account
        msg['To'] = to_account
        email_client.sendmail(from_account, to_account, msg.as_string())
    
        email_client.quit()
        
        
        

    balas
    0
  • PHPz

    PHPz2017-04-17 17:53:33

    Beginilah keadaannya Pengirim dan penerima mestilah 163 pelayan untuk berjaya menghantar. Jika tidak, ralat akan dilaporkan!

    balas
    0
  • Batalbalas