崔晋铭73 2023-09-12 00:19 采纳率: 33.3%
浏览 186

用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')
请问哪位能帮忙解答一下

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-12 02:07
    关注

    【以下回答由 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'是邮件的正文内容,可以根据实际需求进行修改。


    【相关推荐】



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

报告相同问题?

问题事件

  • 创建了问题 9月12日

悬赏问题

  • ¥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