用python给邮箱发邮件,问题,以及解决方法。
模版
import smtplib #导入相关模块
from email.mime.text import MIMEText
from email.utils import formataddr
def mail():
ret="ok"
try:
msg = MIMEText("邮件内容","plain","utf-8")
msg["From"] = formataddr(["发件人",'发件人邮箱'])
msg["To"] = formataddr(["收件人",'收件人邮箱'])
msg["Subject"]="主题" server=smtplib.SMTP("smtp.qq.com",25)
#server.starttls()
#server.ehlo()
server.login("发件人邮箱","发件人密码")
server.sendmail("发件人邮箱",['收件人邮箱',],msg.as_string())
server.quit() except Exception,e:
ret =e
return ret
ret=mail()
print ret
加入try,except可以看到错误信息
当然编写完后会有几个问题。下面是我遇到的几个问题,并附上解决方案。
server=smtplib.SMTP("smtp.qq.com",25)
使用25端口报错
(530, 'Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28')
端口号需要改成加密连接,smtp.qq.com,使用SSL,端口号465或587
用587端口后提示错误
(530, 'Must issue a STARTTLS command first.')
需要在
server=smtplib.SMTP("smtp.qq.com",587)
后面加上
server.starttls() 用465的话则需要将SMTP改成SMTP_SSL
server=smtplib.SMTP_SSL("smtp.qq.com",465) 至此,可正常发送邮件。 新手如有错误欢迎大神们指点。
用python给邮箱发邮件,问题,以及解决方法。的更多相关文章
- python webdriver 登录163邮箱发邮件加附件, 外加数据和程序分离,配置文件的方式
配置文件:UiObjectMapSendMap.ini用来存放配置信息 GetOptionSendMail.py 用来读取配信息 #encoding=utf-8from selenium.webdri ...
- EDM营销算法:python自动批量发邮件
EDM营销:全称Email Direct Marketing,即电子邮件营销.企业可以通过使用EDM软件向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售.EDM软 ...
- mailx加163邮箱发邮件
mailx加163邮箱发邮件 参考:https://www.cnblogs.com/myvic/p/9579954.html 配置 $ yum install mailx -y $ vim /etc/ ...
- Ubuntu下 fatal error: Python.h: No such file or directory 解决方法
参考: fatal error: Python.h: No such file or directory Ubuntu下 fatal error: Python.h: No such file or ...
- Python使用easy-install安装时报UnicodeDecodeError的解决方法
Python使用easy-install安装时报UnicodeDecodeError的解决方法,有需要的朋友可以参考下. 问题描述: 在使用easy-install安装matplotlib.pypar ...
- python连接数据库自动发邮件
python连接数据库实现自动发邮件 1.运行环境 redhat6 + python3.6 + crontab + Oracle客户端 2.用到的模块 3.操作步骤 (1)安装python3.6参考 ...
- Python自定义任务发邮件提醒
前言 在工作中,有时会有一些定期需要执行的任务或在将来某一天需要执行的任务,为避免疏漏,设计个小工具,发邮件提醒自己去处理. 方案简介 1.建立一个Excel文件,里面定义好待提醒的任务 2.建立一个 ...
- 发邮件 文字+ 附件的方法(QQ or 网易 邮箱)
#coding:utf-8import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIME ...
- STMP发送邮件被当垃圾邮件处理的解决方法
昨天使用了.Net通过smtp发送邮件的方式发送了一封邮件到自己的QQ邮箱,但是发送成功后并没有提示邮箱收到新的邮件,而且去收件箱里面也没有新增的邮件. 这让本人觉得奇怪,所以就觉得是否被当作垃圾邮件 ...
随机推荐
- SVN删除文件和恢复文件
SVN删除文件 一.本地删除SVN删除文件中的本地删除,指的是在客户端delete了一个文件,但还没有commit,使用revert来撤销删除. 二.服务器删除1.通过本地删除后提交服务器a)Upda ...
- 破解某PDF转换器产品
本文章纯属出于作者自己对技术的探索,绝不用于商业用途(虽然网上已经能够下载到注册机了) 软件功能就不多说了,PDF转换成WORD格式,对于学生党来说也算是神器了吧,那么我们今天就用自己的办法来获得这款 ...
- php实现遍历目录
用递归方法实现目录的遍历: <?php header("Content-type: text/html; charset=utf-8"); date_default_time ...
- 使用junit和eclemma进行简单的代码测试
1.Junit和Hamcrest的安装 可以在https://mvnrepository.com/上面下载所需要的Junit和Hamcrest的jar包,然后在项目中新建一个lib文件夹,将下载好的j ...
- java后台常用json解析工具问题小结
若排版紊乱可查看我的个人博客原文地址 java后台常用json解析工具问题小结 这里不细究造成这些问题的底层原因,只是单纯的描述我碰到的问题及对应的解决方法 jackson将java对象转json字符 ...
- 泛型--增强for循环--数组和集合转换
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...
- Vmware网络不可达
1. ifconfig -a 查看当前的网卡 2. cd /etc/sysconfig/network-scripts/ 3. 打开对应网卡名称文件, 具体修改内容参考(https://www. ...
- 验证GridControl Gridview 单元格。
一般的验证方法,使用单元格值改变事件.现在记录另一个事件实现验证. 场景:控制当某个单元格的值的长度不能超过10 直接看代码: private void gridViewFileContent_Val ...
- ecplise多个版本tomcat的使用
在ecplise中修改配置文件,或者直接在server.xml中修改,将tomcat三个端口号修改为与另一个tomcat不同即可.
- 如何将plist大图拆分成原来的小图
我们一般为了提升性能和减少包体,大多会使用textpackture将图片打包成大图,有时候我们也需要查看它的原来小图,但是没有原图,这时候我们就可以使用cocos的工具,cocos studio. 预 ...