python发送包含html、图片、附件和链接的邮件

简介:

从我的126邮箱给我的QQ邮箱发送测试邮件

1.smtplib模块的使用

smtplib库用来发送邮件。需要用到的函数如下:

连接到SMTP服务器,参数为SMTP主机和端口:
SMTP.connect([host[,port]])
登录SMTP服务器,参数为邮箱用户名和密码:
SMTP.login(user,password)
发送邮件。msg表示邮件内容:
SMTP.sendmail(from_addr, to_addrs, msg)
断开连接:
SMTP.quit()

2.邮件格式MIME介绍

最常见的MIME首部是以Content-Type开头的:

 

 1) Content-Type: multipart/mixed
它表明这封Email邮件中包含各种格式的MIME实体但没有具体给出每个实体的类型。

2) Content-Type: multipart/alternative
如果同一封Email邮件既以文本格式又以HTML格式发送,那么要使用Content-Type: multipart/alternative。这两种邮件格式实际上是显示同样的内容但是具有不同的编码。

3) Content-Type: multipart/related
用于在同一封邮件中发送HTML文本和图像或者是其他类似类型。

邮件主体的编码:

主要是包括quoted-printable与base64两种类型的编码。Base64和Quoted-Printable都属于MIME(多用途部分、多媒体电子邮件和 WWW 超文本)的一种编码标准,用于传送诸如图形、声音和传真等非文本数据)。

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.Header import Header 
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage

def sendMail(sender,receiver,subject):
    smtpserver = 'smtp.126.com'
    username = 'zhaohaihua1213'
    password = '123456'

    msg = MIMEMultipart('alternative')
    msg['Subject'] = Header(subject,'utf-8')

   

#html格式构造

     html =  """\
    <html> 
      <head>测试一下</head> 
      <body> 
        <p>兄弟们!<br> 
           你们好啊<br> 
           点击进入 <a href="http://www.mykuaiji.com">会计家园</a> 
           <br><img src="cid:meinv_image"></br>
        </p> 
      </body> 
    </html> 
    """
    htm = MIMEText(html,'html','utf-8')
    msg.attach(htm)

 

#构造图片

    fp = open('meinv.jpg','rb')
    msgImage = MIMEImage(fp.read())
    fp.close()

    msgImage.add_header('Content-ID','<meinv_image>')
    msg.attach(msgImage)

 

#构造附件

    att = MIMEText(open('Pictures.rar','rb').read(),'base64','utf-8')
    att["Content-Type"] = 'application/octet-stream'
    att["Content-Disposition"] = 'attatchment;filename="Pictures.rar"'
    msg.attach(att)

    smtp = smtplib.SMTP()
    smtp.connect('smtp.126.com')
    smtp.login(username,password)
    smtp.sendmail(sender,receiver,msg.as_string())
    smtp.quit()

sender = 'zhaohaihua1213@126.com'
receiver = '903397616@qq.com'
subject = '图片附件html发送邮件测试'
sendMail(sender,receiver,subject)

执行一下看看效果:

#python email.py

 

 工作中的应用场景,用来发送zabbix监控页面:

 





本文转自 baiying 51CTO博客,原文链接:http://blog.51cto.com/baiying/1185855,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Python
Python实用记录(六):如何打开txt文档并删除指定绝对路径下图片
这篇文章介绍了如何使用Python打开txt文档,删除文档中指定路径的图片,并提供了一段示例代码来展示这一过程。
46 1
|
4月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
128 0
|
3月前
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href=&#39;example.com&#39;]` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
|
2月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
70 4
|
3月前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
103 9
|
4月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
210 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
2月前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
89 0
|
4月前
|
XML 前端开发 数据格式
Beautiful Soup 解析html | python小知识
在数据驱动的时代,网页数据是非常宝贵的资源。很多时候我们需要从网页上提取数据,进行分析和处理。Beautiful Soup 是一个非常流行的 Python 库,可以帮助我们轻松地解析和提取网页中的数据。本文将详细介绍 Beautiful Soup 的基础知识和常用操作,帮助初学者快速入门和精通这一强大的工具。【10月更文挑战第11天】
104 2
|
4月前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
46 1
|
4月前
|
编解码 UED Python
Python批量修改指定目录下图片的大小名文章
Python批量修改指定目录下图片的大小名文章
30 1

热门文章

最新文章