专栏首页python前行者[773]smtplib.SMTPServerDisconnected: Connection unexpectedly closed

[773]smtplib.SMTPServerDisconnected: Connection unexpectedly closed

运行结果:
D:\Python\python3.exe "D:/PyCharm files/face/raspberry/smtp.py"
Traceback (most recent call last):
  File "D:/PyCharm files/face/raspberry/smtp.py", line 43, in <module>
    smtp.login( username, password )                                #登录服务器
  File "D:\Python\lib\smtplib.py", line 721, in login
    initial_response_ok=initial_response_ok)
  File "D:\Python\lib\smtplib.py", line 631, in auth
    (code, resp) = self.docmd("AUTH", mechanism + " " + response)
  File "D:\Python\lib\smtplib.py", line 421, in docmd
    return self.getreply()
  File "D:\Python\lib\smtplib.py", line 394, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

解决方案:

在smtp.login(username,password)前面添加两行代码,即可实现邮件成功发送。添加的代码如下:

smtp.ehlo()
smtp.starttls()

上面的解决方法在win服务器是可以解决,在linux服务器不能解决。

安全邮件,需要通过SSL发送

server = smtplib.SMTP()
server.connect(email_host,25)

抛出异常:

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

QQ邮箱是支持安全邮件的,需要通过SSL发送的邮件:使用标准的25端口连接SMTP服务器时,使用的是明文传输,发送邮件的整个过程可能会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上就是先创建SSL安全连接,然后再使用SMTP协议发送邮件

修改代码:

server = smtplib.SMTP_SSL()
server.connect(email_host,465)# 启用SSL发信, 端口一般是465

参考:https://blog.csdn.net/jiangsujiangjiang/article/details/80324098 https://www.cnblogs.com/shapeL/p/9115887.html https://blog.csdn.net/qq_24285815/article/details/98945385

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tf.argmax()

    tf.argmax(vector, 1):返回的是vector中的最大值的索引号,如果vector是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,...

    周小董
  • selenium webdriver——设置元素等待

    如今大多数Web应用程序使用ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难,

    周小董
  • TensorFlow练习2: 对评论进行分类

    1、 使用大数据,了解怎么处理数据不能一次全部加载到内存的情况。如果你内存充足,当我没说

    周小董
  • Python模块学习--email

    SMTP (Simple Mail Transfer Protocol)   邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SM...

    py3study
  • Python3 使用smtplib和em

    SMTP (Simple Mail Transfer Protocol)   邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP...

    py3study
  • python selenium 获取和设置属性

    from selenium import webdriver driver = webdriver.Chrome() driver.get("http://...

    用户5760343
  • C++常用的string字符串截断函数

    C++中经常会用到标准库函数库(STL)的string字符串类,跟其他语言的字符串类相比有所缺陷。这里就分享下我经常用到的两个字符串截断函数:

    charlee44
  • python高级特性-sorted()

    默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面。

    yaohong
  • Linux搭建Tomcat服务配置域名访问+修改端口,并且测试jsp

    ================================================================================...

    对弈
  • 中央重点新闻网站:内容传播影响力分析报告

    大数据文摘

扫码关注云+社区

领取腾讯云代金券