python3.5 email实现发送邮件功能

yipeiwu_com6年前Python基础

本文实例为大家分享了python3.5 email发送邮件的具体代码,供大家参考,具体内容如下

直接套用代码即可

from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email import encoders
import smtplib
import time


def send_mail(subject):
 email_host = '' # 服务器地址
 sender = '' # 发件人
 password = '' # 密码,如果是授权码就填授权码
 receiver = '' # 收件人

 msg = MIMEMultipart()
 msg['Subject'] = subject # 标题
 msg['From'] = '' # 发件人昵称
 msg['To'] = '' # 收件人昵称

 signature = '''
\n\t this is auto test report!
\n\t you don't need to follow
'''
 # text = MIMEText(signature, 'plain') # 签名
 # msg.attach(text)

 # 正文-图片 只能通过html格式来放图片,所以要注释25,26行
 mail_msg = '''
<p>\n\t this is auto test report!</p>
<p>\n\t you don't need to follow</p>
<p><a href="http://blog.csdn.net/wjoxoxoxxx" rel="external nofollow" >我的博客:</a></p>
<p>截图如下:</p>
<p><img src="cid:image1"></p>
'''
 msg.attach(MIMEText(mail_msg, 'html', 'utf-8'))
 # 指定图片为当前目录
 fp = open(r'111.jpg', 'rb')
 msgImage = MIMEImage(fp.read())
 fp.close()
 # 定义图片 ID,在 HTML 文本中引用
 msgImage.add_header('Content-ID', '<image1>')
 msg.attach(msgImage)

 ctype = 'application/octet-stream'
 maintype, subtype = ctype.split('/', 1)
 # 附件-图片
 image = MIMEImage(open(r'111.jpg', 'rb').read(), _subtype=subtype)
 image.add_header('Content-Disposition', 'attachment', filename='img.jpg')
 msg.attach(image)
 # 附件-文件
 file = MIMEBase(maintype, subtype)
 file.set_payload(open(r'320k.txt', 'rb').read())
 file.add_header('Content-Disposition', 'attachment', filename='test.txt')
 encoders.encode_base64(file)
 msg.attach(file)

 # 发送
 smtp = smtplib.SMTP()
 smtp.connect(email_host, 25)
 smtp.login(sender, password)
 smtp.sendmail(sender, receiver, msg.as_string())
 smtp.quit()
 print('success')

if __name_- == '__main__':
 now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
 subject = now + '自动化测试报告'
 send_mail(subject)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现BP神经网络回归预测模型

python实现BP神经网络回归预测模型

神经网络模型一般用来做分类,回归预测模型不常见,本文基于一个用来分类的BP神经网络,对它进行修改,实现了一个回归模型,用来做室内定位。模型主要变化是去掉了第三层的非线性转换,或者说把非线...

Python with用法:自动关闭文件进程

实际上,Python 提供了 with 语句来管理资源关闭。比如可以把打开的文件放在 with 语句中,这样 with 语句就会帮我们自动关闭文件。 with 语句的语法格式如下:...

用python一行代码得到数组中某个元素的个数方法

想法由来 今天写代码过程中遇到一个需求,计算一个list中数值为1的元素的个数,其中这个list的元素数值不是为0就是为1。 一开始想到的是写个方法来计算: # 返回一个0,1数组中...

详解python数据结构和算法

详解python数据结构和算法

1.删除序列相同元素并保持顺序 如果仅仅就是想消除重复元素,通常可以简单的构造一个集合,利用集合之间元素互不相同的特性就可以消除重复,但是这种方法生成的结果中元素的位置会被打乱。下面是我...

浅谈Django的缓存机制

由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memc...