>  Q&A  >  본문

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

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

大家讲道理大家讲道理2714일 전873

모든 응답(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) 보낸 사람과 받는 사람이 내용과 일치해야 합니다. 일치하지 않는 필드는 입력하지 마세요. 메일 서버.
    아래 코드를 테스트하면 163 메일박스를 이용해 QQ 메일박스로 이메일을 보낼 수 있습니다.

    으아악

    회신하다
    0
  • PHPz

    PHPz2017-04-17 17:53:33

    그렇습니다. 성공적으로 전송하려면 발신자와 수신자의 서버가 163개여야 합니다. 그렇지 않으면 오류가 보고됩니다!

    회신하다
    0
  • 취소회신하다