Python3.5 使用 email 模块实现邮件发送功能
本文介绍了如何在 Python3.5 环境中使用 email 模块结合 smtplib 实现邮件发送功能。通过构建 MIMEMultipart 对象,支持纯文本、HTML 格式正文及图片附件的嵌入。代码示例展示了如何配置服务器地址、发件人授权码及收件人信息,并执行登录与发送操作,适用于自动化测试报告等场景。
Python3.5 邮件发送功能实现
本文分享了一个基于 Python3.5 的邮件发送具体实现代码,供读者参考学习。
用户可直接复制下方代码进行使用。
核心代码实现与配置
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)
以上就是本文的全部内容,希望能为读者的学习提供有益帮助,同时也欢迎大家对本站给予支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













