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中return self的用法详解
Jul 27 Python
python调用外部程序的实操步骤
Mar 04 Python
【python】matplotlib动态显示详解
Apr 11 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
python实现人工智能Ai抠图功能
Sep 05 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Python参数传递对象的引用原理解析
May 22 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
python RSA加密的示例
Dec 09 Python
Pandas自定义选项option设置
Jul 25 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静态新闻列表自动生成代码
2007/06/14 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP6新特性分析
2016/03/03 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
JavaScript中的闭包原理分析
2010/03/08 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
深入理解vue中的$set
2017/06/01 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
python中import学习备忘笔记
2017/01/24 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
对Python _取log的几种方式小结
2019/07/25 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
Django数据统计功能count()的使用
2020/11/30 Python
淘宝网店营销策划书
2014/01/11 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
学生干部培训方案
2014/06/12 职场文书
大学生年度个人总结
2015/02/15 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
大学生党课感想
2015/08/11 职场文书
初中语文教师研修日志
2015/11/13 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书