用SMTP发送电子邮件,出现错误502

import smtplib
import base64
smtpobj=smtplib.SMTP('smtp.qq.com',587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.login('xxxxxx@qq.com',"授权码")
smtpobj.sendmail('=?utf-8?B?5aSc5q6H=?=" <xxxxxxx@qq.com>','xxxxxxxx@163.com',
                 'Subject:so long.\ndear alecw,so long and thanks for all the fish. sincerely,bob')

smtpobj.quit()

出现错误提示发生异常: SMTPSenderRefused
(502, b'Invalid input from 112.97.251.248 to newxmesmtplogicsvrsza7-0.qq.com.', '=?utf-8?B?5aSc5q6H=?=" 1584635173@qq.com')
请问哪位能帮忙解答一下

【以下回答由 GPT 生成】

问题分析

502错误一般表示由于不正确的请求或无效输入而导致的服务器错误。根据错误信息,可能是发件人地址的格式不正确导致的。在代码中,发件人的名称是通过base64编码的方式设置的,而可能应该直接使用UTF-8编码的字符串。

解决方案

修改代码中的发件人名称,直接使用UTF-8编码的字符串。

import smtplib
smtpobj = smtplib.SMTP('smtp.qq.com', 587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.login('xxxxxx@qq.com', '授权码')
smtpobj.sendmail('发件人姓名 <xxxxxxx@qq.com>',
                 'xxxxxxxx@163.com',
                 'Subject: so long.\ndear alecw, so long and thanks for all the fish. sincerely, bob')
smtpobj.quit()

注意事项

  • 发件人姓名修改为实际的发件人姓名
  • xxxxxx@qq.com修改为实际的发件人邮箱
  • xxxxxxxx@163.com修改为实际的收件人邮箱
  • 'Subject: so long.\ndear alecw, so long and thanks for all the fish. sincerely, bob'是邮件的正文内容,可以根据实际需求进行修改。


【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

用python发送邮件,参考下面的博客

http://t.csdn.cn/0EjDY