热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python发邮件不出原因_解决Python不能发邮件问题

今天一下午就在搞它了。先附上源代码:#coding:utf-8importsmtplibfromemail.mime.textimportMIMETextfromem

今天一下午就在搞它了。

先附上源代码:

#coding:utf-8

import smtplib

from email.mime.text import MIMEText

from email.header import Header

sender = "xx@163.com"

receiver = "yy@qq.com"

subject = "测试邮件"

smtpserver = "smtp.163.com"

user = 'xx@163.com'

password = 'mima'

msg = MIMEText('你好','text','utf-8')

msg['Subject'] = Header(subject,'utf-8')

msg['From'] = 'xx@163.com'#这句和下面那句话随便加不加都行。

msg['To'] = 'yy@qq.com'

smtp = smtplib.SMTP()

smtp.connect('smtp.163.com')

#smtp.connect('smtp.exmail.qq.com')#使用qq邮箱登录发邮件时用这个。

smtp.login(user,password)

smtp.sendmail(sender,receiver,msg.as_string())

smtp.quit()开始琢磨了半天,总是出现这个错误

SMTPAuthenticationError: (535, 'Authentication failed')

后天网上查了下http://blog.csdn.net/moxien/article/details/4273923

需要这样修改才能发,

按照网上的在smtplib.py上修改:

elif authmethod == AUTH_LOGIN:

#modi start 添加代碼

(code, resp) = self.docmd("AUTH", AUTH_LOGIN)

if code == 334:

(code, resp) = self.docmd(base64.encodestring(user)[:-1])

if code == 334:

(code, resp) = self.docmd(base64.encodestring(password)[:-1])但是还是没能成功,好纳闷,下午就耗在这了。

再后来继续百度呗,看了一个又一个文章,发现:

http://blog.csdn.net/bruce128/article/details/8761949

这个博主是正解,原来还需要开启下QQ邮箱的smtp服务器设置!!!我擦勒。

。。。好吧,屁颠屁颠改了,哈哈 果然好了   谢谢博主啊~~~

后来我把原版的smtplib.py又粘贴了回去,发现。。。原来不改也可以,这是为什么?

额 , 难道是侥幸?醉了醉了。



推荐阅读
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
author-avatar
和你在一起1979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有