python实现发送邮件及附件功能


Posted in Python onMarch 02, 2021

今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题:

本人是mac如果没有按照依赖模块的请按照下面的截图安装

python实现发送邮件及附件功能

导入模块如果没有错误,表示已经安装成功。

Python发送一个未知MIME类型的文件附件其基本思路如下:

1. 构造MIMEMultipart对象做为根容器
2. 构造MIMEText对象做为邮件显示内容并附加到根容器
3. 构造MIMEBase对象做为文件附件内容并附加到根容器

a. 读入文件内容并格式化

b. 设置附件头
4. 设置根容器属性
5. 得到格式化后的完整文本
6. 用smtp发送邮件

实例代码:

#!/usr/bin/env python
 # -*- coding:utf-8 -*-
 
 import smtplib
 from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 from email.mime.application import MIMEApplication
 
 class Mailer(object):
 def __init__(self,maillist,mailtitle,mailcontent):
  self.mail_list = maillist
  self.mail_title = mailtitle
  self.mail_content = mailcontent
 
  self.mail_host = "smtp.163.com"
  self.mail_user = "your email name"
  self.mail_pass = "your email password"
  self.mail_postfix = "163.com"
 
 def sendMail(self):
 
  me = self.mail_user + "<" + self.mail_user + "@" + self.mail_postfix + ">"
  msg = MIMEMultipart()
  msg['Subject'] = 'Python mail Test'
  msg['From'] = me
  msg['To'] = ";".join(self.mail_list)
 
  #puretext = MIMEText('<h1>你好,<br/>'+self.mail_content+'</h1>','html','utf-8')
  puretext = MIMEText('纯文本内容'+self.mail_content)
  msg.attach(puretext)
 
  # jpg类型的附件
  jpgpart = MIMEApplication(open('/home/mypan/1949777163775279642.jpg', 'rb').read())
  jpgpart.add_header('Content-Disposition', 'attachment', filename='beauty.jpg')
  msg.attach(jpgpart)
 
  # 首先是xlsx类型的附件
  #xlsxpart = MIMEApplication(open('test.xlsx', 'rb').read())
  #xlsxpart.add_header('Content-Disposition', 'attachment', filename='test.xlsx')
  #msg.attach(xlsxpart)
 
  # mp3类型的附件
  #mp3part = MIMEApplication(open('kenny.mp3', 'rb').read())
  #mp3part.add_header('Content-Disposition', 'attachment', filename='benny.mp3')
  #msg.attach(mp3part)
 
  # pdf类型附件
  #part = MIMEApplication(open('foo.pdf', 'rb').read())
  #part.add_header('Content-Disposition', 'attachment', filename="foo.pdf")
  #msg.attach(part)
 
  try:
  s = smtplib.SMTP() #创建邮件服务器对象
  s.connect(self.mail_host) #连接到指定的smtp服务器。参数分别表示smpt主机和端口
  s.login(self.mail_user, self.mail_pass) #登录到你邮箱
  s.sendmail(me, self.mail_list, msg.as_string()) #发送内容
  s.close()
  return True
  except Exception, e:
  print str(e)
  return False
 
 
 if __name__ == '__main__':
 #send list
 mailto_list = ["aaa@lsh123.com","bbb@163.com"]
 mail_title = 'Hey subject'
 mail_content = 'Hey this is content'
 mm = Mailer(mailto_list,mail_title,mail_content)
 res = mm.sendMail()
 print res

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

Python 相关文章推荐
在Python中处理字符串之isdecimal()方法的使用
May 20 Python
简单学习Python time模块
Apr 29 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
python 生成器协程运算实例
Sep 04 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
python3.x实现base64加密和解密
Mar 28 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
Numpy一维线性插值函数的用法
Apr 22 Python
30行Python代码实现高分辨率图像导航的方法
May 22 Python
Python celery原理及运行流程解析
Jun 13 Python
python游戏开发Pygame框架
Apr 22 Python
利用python微信库itchat实现微信自动回复功能
May 18 #Python
利用Python读取文件的四种不同方法比对
May 18 #Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 #Python
Python使用time模块实现指定时间触发器示例
May 18 #Python
Python实现的文本简单可逆加密算法示例
May 18 #Python
Python操作MongoDB详解及实例
May 18 #Python
Python 迭代器与生成器实例详解
May 18 #Python
You might like
php抓取https的内容的代码
2010/04/06 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
载入进度条 效果
2006/07/08 Javascript
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
js一组验证函数
2008/12/20 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
vue删除html内容的标签样式实例
2018/09/13 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
python温度转换华氏温度实现代码
2020/12/06 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
大学军训感言1000字
2014/02/25 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
教师党员承诺书
2014/03/25 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书