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的Supervisor进行进程监控以及自动启动
May 29 Python
Python Sleep休眠函数使用简单实例
Feb 02 Python
python获取本地计算机名字的方法
Apr 29 Python
用Python shell简化开发
Aug 08 Python
python3 property装饰器实现原理与用法示例
May 15 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
Python类super()及私有属性原理解析
Jun 15 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
Sep 01 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
python实现socket简单通信的示例代码
Apr 13 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+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
显示js对象所有属性和方法的函数
2009/10/16 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python编程中的文件操作攻略
2015/10/16 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
python读取xml文件方法解析
2020/08/04 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
static关键字的用法
2013/10/07 面试题
会计电算化专业毕业生推荐信
2013/12/24 职场文书
合作协议书
2014/04/23 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
先进班组材料范文
2014/12/25 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js