weixin_52258200
2021-06-26 17:03
采纳率: 100%
浏览 36

能在pycharm运行,服务器上运行不了

其他一切正常,只有发邮件这一部分运行出错

def email():
    mail_host = "smtp.qq.com"
    mail_user = "xxx@qq.com"
    mail_pass = "xxx"

    sender = 'xxx@qq.com'
    receivers = ['xxxx@qq.com']
    message = MIMEText('今日健康打卡已成功', 'plain', 'utf-8')
    message['From'] = Header("pyy", 'utf-8')
    message['To'] = Header("测试", 'utf-8')

    subject = '自动 SMTP 打卡'
    message['Subject'] = Header(subject, 'utf-8')

    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect(mail_host, 25)  # 25 为 SMTP 端口号
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender, receivers, message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")

错误如下

 

pycharm中

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 江天暮雪丨 2021-06-26 17:20
    已采纳

    我也遇到过一次这样的问题,本地用25端口发邮件没有问题,到服务器就不行。
    后面服务器改用SSL方式 + 465端口,就没有问题了,原因是什么还不得而知。

    smtp = smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)

    不知道是否能帮到你

    已采纳该答案
    1 打赏 评论
  • CSDN专家-黄老师 2021-06-26 17:13

    这个是发邮件功能无法成功,你单独将这个功能抽到一个py文件里面去,然后调试完这个功能再融入其他功能。。发送邮件要设置邮箱的

    打赏 评论

相关推荐 更多相似问题