python使用SMTP发送qq或sina邮件


Posted in Python onOctober 21, 2017

python使用qq邮箱(个人邮箱)发送邮件需开启qq邮箱的SMTP服务

在设置中开启pop3/SMTP服务,返回的密码就是之后代码中登录使用账户密码(在完整代码中标识了出来)

python使用SMTP发送qq或sina邮件

之后出现如下错误

smtplib.SMTPAuthenticationError: (530, 'Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28')

错误说要开ssl发送邮件

在原来的代码上添加上如下三行代码即可

smtpObj.ehlo()
smtpObj.starttls()
smtpObj.ehlo()

完整代码如下

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.qq.com" # 设置服务器,qq的SMTP服务host
mail_user = "xxx@qq.com" # 用户名(须修改)
mail_pass = "xxxxxxxxxxxxxxxx" # 此处为在qq开启SMTP服务时返回的密码 (须修改)

sender = 'xxx@qq.com'  # 同用户名 (须修改)
receivers = ['xxx@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

message = MIMEText('...', 'plain', 'utf-8')
message['From'] = Header("第一封python测试邮件", 'utf-8')
message['To'] = Header("测试", 'utf-8')

try:
 subject = 'Python SMTP 邮件测试'
 message['Subject'] = Header(subject, 'utf-8')
 smtpObj = smtplib.SMTP()
 smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
 smtpObj.ehlo()
 smtpObj.starttls()
 smtpObj.ehlo()
 smtpObj.login(mail_user, mail_pass)
 smtpObj.sendmail(sender, receivers, message.as_string())
 print "邮件发送成功"
except smtplib.SMTPException :
 print "Error: 无法发送邮件"

在使用sina邮箱开启SMPT服务后使用python发送信息卡在了如下错误#不是很理解

smtplib.SMTPDataError: (553, 'Envolope sender mismatch with header from..')

成功的例子是

import smtplib
server = "smtp.sina.com"
fromaddr= "xxx@sina.com" #须修改
toaddr = "xxx@qq.com" #须修改
msg = """
to:%s
from:%s
Hello,I am smtp server
""" %(toaddr,fromaddr)
s = smtplib.SMTP(server)
s.set_debuglevel(1)
s.login("xxx@sina.com","xxx")  #须修改
s.sendmail(fromaddr,toaddr,msg)

报错的例子是

import smtplib
from email.mime.text import MIMEText
from email.header import Header
server = "smtp.sina.com"
fromaddr= "xxx@sina.com"
toaddr = "xxx@qq.com"

message = MIMEText('...', 'plain', 'utf-8')
message['From'] = Header(fromaddr, 'utf-8')
message['To'] = Header("toaddr", 'utf-8')
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')

s = smtplib.SMTP(server)
s.set_debuglevel(1)
s.login("xxx@sina.com","xxx")
s.sendmail(fromaddr,toaddr,message)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
python文件操作之目录遍历实例分析
May 20 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
Python读取一个目录下所有目录和文件的方法
Jul 15 Python
在IPython中执行Python程序文件的示例
Nov 01 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
python解析命令行参数的三种方法详解
Nov 29 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
opencv-python的RGB与BGR互转方式
Jun 02 Python
基于python实现音乐播放器代码实例
Jul 01 Python
如何理解python接口自动化之logging日志模块
Jun 15 Python
python爬虫headers设置后无效的解决方法
Oct 21 #Python
Python 结巴分词实现关键词抽取分析
Oct 21 #Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 #Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 #Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 #Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 #Python
python虚拟环境virtualenv的使用教程
Oct 20 #Python
You might like
农民和部队如何穿矿
2020/03/04 星际争霸
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
js实现div弹出层的方法
2014/11/20 Javascript
javascript实现微信分享
2014/12/23 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
vue移动端轻量级的轮播组件实现代码
2018/07/12 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
python基于queue和threading实现多线程下载实例
2014/10/08 Python
python中执行shell的两种方法总结
2017/01/10 Python
Python数据结构之翻转链表
2017/02/25 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python 爬虫的原理
2020/07/30 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
中医专业职业生涯规划书范文
2014/01/04 职场文书
毕业自我评价
2014/02/05 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
总结表彰大会主持词
2014/03/26 职场文书
团代会主持词
2014/04/02 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技