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 相关文章推荐
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
tensorflow 变长序列存储实例
Jan 20 Python
python数据预处理 :数据抽样解析
Feb 24 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
Python SQLAlchemy库的使用方法
Oct 13 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
python文件目录操作之os模块
May 08 Python
Python中for后接else的语法使用
May 18 Python
Opencv实现二维直方图的计算及绘制
Jul 21 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第一次无法获取cookie问题处理
2014/12/15 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
js对象基础实例分析
2015/01/13 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
Python延时操作实现方法示例
2018/08/14 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
pycharm运行scrapy过程图解
2019/11/22 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
网络编辑岗位职责范本
2014/02/10 职场文书
售后服务质量承诺书
2015/04/29 职场文书
2016高考感言
2015/08/01 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android