zoukankan      html  css  js  c++  java
  • 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的操作

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

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

  • 相关阅读:
    Struts2中Action取得表单数据的几种方法
    一次性插入多条记录快的不只一点点
    PHP规范PSR0和PSR4的理解
    mysql出现Too many connections的解决...
    浅谈Mysql 表设计规范(转)
    写单元测试的好处(转)
    TDD 与 BDD 仅仅是语言描述上的区别么?
    较好的方法命名规则(转)
    spring中InitializingBean接口使用理解(转)
    Maven:浅析依赖(dependency)关系中 scope 的含义(转)
  • 原文地址:https://www.cnblogs.com/QianyuQian/p/12420406.html
Copyright © 2011-2022 走看看