python发送邮件实例分享


Posted in Python onJuly 28, 2017

为了更好的理解邮件发送功能的实现,要先了解邮件发送系统的大致流程。首先  电子邮件之间的相互发送接受就像  邮局邮件发送一样,从一个站点(邮件发送服务器)到目的地站点(邮件接收服务器),然后目的地站点处理收到的邮件,并发送给接受人。每个邮件服务器即担任发送也担任接受邮件,并且每个服务器地址,端口号,配置等也不同。

其实发送邮件的流程就 两部:

第一:写邮件

写好发送方,接受方
写好主题
写好正文(包括附件,图片等)
把信件整理在一起

第二:发送邮件

连接发送邮件服务器
登录邮箱
发送邮件
退出邮箱

代码部分:

# -*- coding:utf-8 -*-
import smtplib
from email.header import Header
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

#创建邮件对象,相当于信纸
msg = MIMEMultipart()
#邮件发送方
msg['From'] = 'XXXXXXXX.qq.com'
#邮件接收方
msg['To'] = '1212112@qq.com'
#邮件主题
msg['Subject'] = Header('这是邮箱主题部分', charset='UTF-8')#中文主题

#文本内容
txt = '亲爱的用户'
part1 = MIMEText(txt, 'plain', 'utf-8')
#添加到邮件中
msg.attach(part1)

#超文本内容,放有图片,注意src路径,此为放在同一目录中
html = '<div><img src="cid:image1">亲爱的</div>'
#一定要设置邮件格式,否则可能会乱码,当时接手别人手中没加邮件格式的项目,坑了我半天
part2 = MIMEText(html, 'html', 'utf-8')
#添加到邮件中
msg.attach(part2)

#图片放到邮件中
# 指定图片为当前目录
fp = open('test.png', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
# 定义图片 ID,在 HTML 文本中引用
msgImage.add_header('Content-ID', '<image1>')
msg.attach(msgImage)

#加入附件
att2 = MIMEText('这是附件里的文字', 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
#设置附件名为runoob.txt
att2["Content-Disposition"] = 'attachment; filename="runoob.txt"'
#附件放在邮件中
msg.attach(att2)

#非ssl方式的smtp(简单邮件发送协议),下面注释为ssl方式的smtp
smtp = smtplib.SMTP()
# smtp = smtplib.SMTP_SSL()

try:
 #连接主机地址
 smtp.connect('mail.yto.net.cn:25')
 #登录邮箱,需要邮箱账号,密码
 smtp.login('XXXXXXXX.qq.com','234123')
 #发送邮件,需要登录的邮箱号,发送方的邮箱号,发送内容
 smtp.sendmail('XXXXXXXX.qq.com', '1212112@qq.com', msg.as_string())
 #退出邮箱
 smtp.quit()
 print 'The mail is sended successly.'
except smtplib.SMTPException,e:
 print "Error: 无法发送邮件",e

发送结果:

python发送邮件实例分享

注意点:当自己邮箱作为邮件发送方时,注意邮件服务器的设置里把smtp服务打开

python发送邮件实例分享

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

Python 相关文章推荐
Python列表推导式的使用方法
Nov 21 Python
python rsync服务器之间文件夹同步脚本
Aug 29 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
150行Python代码实现带界面的数独游戏
Apr 04 Python
python matplotlib实现将图例放在图外
Apr 17 Python
python函数中将变量名转换成字符串实例
May 11 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
Mar 03 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 Python
python通配符之glob模块的使用详解
Apr 24 Python
Python分治法定义与应用实例详解
Jul 28 #Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 #Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 #Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 #Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 #Python
python django 增删改查操作 数据库Mysql
Jul 27 #Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 #Python
You might like
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Python 删除连续出现的指定字符的实例
2018/06/29 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
keras多显卡训练方式
2020/06/10 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
美国网上订购鲜花:FTD
2016/09/23 全球购物
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
幼儿园师德演讲稿
2014/05/06 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2015年教师节慰问信
2015/03/23 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS