崔晋铭73 2023-09-13 00:42 采纳率: 33.3%
浏览 59

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


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

出现错误提示

(550, b'The "From" header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard protocol. https://service.mail.qq.com/detail/124/995.')
File "C:\python2\发送电子邮件和短信\连接到SMTP服务器.py", line 19, in <module>
    smtpobj.sendmail('<1584635173@qq.com>','cb18675328318@163.com',
smtplib.SMTPDataError: (550, b'The "From" header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard protocol. https://service.mail.qq.com/detail/124/995.')

主要问题出现在发送地址上,按提示对地址修改为昵称+<地址>的格式,依然报错,请问有没有遇到相同问题的人。

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-13 00:46
    关注

    引用 皆我百晓生 小程序回复内容作答:
    根据你的代码和错误提示,看起来问题出现在发送地址的格式上。SMTP服务器要求发送地址的格式按照 RFC5322、RFC2047 和 RFC822 的标准协议。

    请尝试按照以下格式修改你的发送地址:

    smtpobj.sendmail('昵称 <xxxxxx@qq.com>', 'xxxxxxxx@163.com', 'Subject: so long.\ndear alecw, so long and thanks for all the fish. sincerely, bob')
    

    xxxxxx@qq.com 替换为你的发件人邮箱地址,昵称 替换为你的昵称。确保发送地址的格式符合 RFC 标准,参考错误提示中提供的链接了解详细信息。

    如果问题仍然存在,你可以检查以下几点:

    1. 确保你的邮箱地址和授权码是正确的,能够成功登录到 SMTP 服务器。

    2. 检查是否需要启用 "Less secure apps" 选项。对于某些邮箱提供商(如 Gmail),需要在账户设置中启用该选项以允许通过 SMTP 发送邮件。

    3. 检查网络连接和代理设置,确保程序能够正常连接到 SMTP 服务器。

    如果以上方法仍然无法解决问题,请提供更多详细信息,例如完整的错误提示,以便进一步排查问题原因。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月13日

悬赏问题

  • ¥20 ARKts悬浮窗和快捷方式问题
  • ¥15 comparecluster没有办法kegg
  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES