• Python3.7 发送邮件 报‘[WinError 10061] 由于目标计算机积极拒绝,无法连接’错误的解决方法


    背景:

    最近在练习Python 的邮件发送功能

    照着教程写了一个简单的demo

    结果运行时报如下错误:[WinError 10061] 由于目标计算机积极拒绝,无法连接。

    如图:

    解决路径如下:

    Step1. 连不上,是不是因为没加端口呀,加上端口试一试

    将连接语句改成:smtp.connect('smtp.163.com',25)

    Ctrl+B 

    呼呼  还报错 如下:

    Step2. 加了端口还不行,又查了下,原来25端口被封,已更换为465端口,

    遂将代码做如下修改:smtp.connect('smtp.163.com',25)

    满心期待能够发送成功,结果现实又啪啪打脸,新的错误出现,如下图:

    各种百度ing

    Step3. 网上搜到下面一段话:

    “上面说的是最普通的情况,但是不能忽略的是现在好多企业邮件是支持安全邮件的,就是通过SSL发送的邮件,这个怎么发呢?SMTP对SSL安全邮件的支持有两种方案,一种老的是专门开启一个465端口来接收ssl邮件,另一种更新的做法是在标准的25端口的smtp上增加一个starttls的命令来支持。”

    个人没看太懂,附上文章链接:https://blog.csdn.net/diyiday/article/details/81504647

    将代码修改如下:

    smtp = smtplib.SMTP_SSL('smtp.163.com',465)

    将smtp.connect的代码注释掉

    Ctrl+B

    Bingo! 邮件发送成功!

    看到了最希望看到的画面:

    注:使用SMTP_SSL连接大概是Python3.7的改进,没找到具体的资料,不敢下定论

    如果您的Python3.7也遇到了跟我一样的问题

    可以直接尝试Step3的操作

    这里面能使用变量的话当然更好,不使用也没关系

    还有一点就是,端口不是必需的,没有端口也可以成功发送邮件,已验证

  • 相关阅读:
    (转载)MySQL日期时间函数大全
    Tcl commands
    Toplevel
    tk 8.4 commands
    iwidgets
    Options for Buttontype widgets
    Text Widget Options
    tk options
    itk_option
    Widget Options
  • 原文地址:https://www.cnblogs.com/QianyuQian/p/12420406.html
Copyright © 2020-2023  润新知