Python发送HTML邮件的9个代码示例


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格
Python发送HTML邮件的9个代码示例
在现代邮件营销中,发送HTML邮件是提升用户体验和提高打开率的重要手段。使用Python编写邮件发送脚本,可以轻松实现这一点。本文将详细讲解如何在Python中发送HTML邮件,并提供9个实用的代码示例,帮助您快速上手。
代码示例1:使用PyYAML生成HTML邮件模板
PyYAML是一个功能强大的邮件模板生成工具,可以帮助您快速创建HTML邮件模板。以下是使用PyYAML生成模板并发送邮件的完整代码。
代码解释
- 导入模块:使用
urllib.parse
和sendmail
模块进行URL解析和邮件发送。 - 配置参数:包括邮件发送的地址、密码、收件人地址和邮件模板文件。
- 解析模板文件:使用PyYAML解析HTML模板文件。
- 填充内容:将收件人信息插入到模板中。
- 发送邮件:使用
sendmail
发送包含填充内容的邮件。
示例代码
from urllib.parse import urlparse, urlunparsefrom sendmail import sendmail# 邮件发送的地址和密码from邮件发送地址邮件地址 from 邮件发送地址密码to = 'your Recipient Email Address'subject = '邮件主题'# 邮件模板文件路径template_file = 'your_template.html'# 解析模板文件with open(template_file, 'r') as f: template = PyYAML.load(f)# 填充内容template['name'] = 'John Doe'template['email'] = 'john@example.com'# 发送邮件sendmail( from_=邮件发送地址, to=to, subject=subject, msg=构建的字符串包含填充后的模板)
代码示例2:使用 beautiful-ssl发送邮件
beautiful-ssl 是一个易于使用的邮件发送库,支持SSL/TLS加密。以下是使用 beautiful-ssl 发送HTML邮件的代码。
代码解释
- 安装库:使用
pip install beautiful-ssl
安装库。 - 配置配置文件:创建
config.py
文件,配置邮件发送的地址、密码和收件人地址。 - 发送邮件:使用
send邮件
函数发送包含HTML内容的邮件。
示例代码
# 配置文件import osfrom beautiful_ssmail.sender import Sender# 邮件发送地址和密码sender_config = { 'from': 'your Sender Email Address', 'to': [' recipient email address'], 'password': 'your password', 'server': { 'host': 'smtp host', 'port': 587 }, 'ssl': { 'cert': 'path to your certificate.pem', 'key': 'path to your key.pem' }}# 创建发送器sender = Sender(sender_config)# 发送邮件sender.send( to= recipient_list, subject=邮件主题, msg=构建的字符串包含HTML内容)
代码示例3:使用PyEmailypad生成邮件
PyEmailypad 是一个简单易用的邮件发送工具,支持HTML邮件。以下是使用 PyEmailypad 发送邮件的代码。
代码解释
- 安装库:使用
pip install pyemailypad
安装库。 - 配置配置文件:创建
config.py
文件,配置邮件发送的地址、密码和收件人地址。 - 发送邮件:使用
send邮件
函数发送包含HTML内容的邮件。
示例代码
# 配置文件import osfrom pyemailypad import send_email# 邮件发送地址和密码from邮件发送地址邮件地址 from 邮件发送地址密码to = 'your Recipient Email Address'subject = '邮件主题'# 邮件模板文件路径template = '<html> <body> <div>Hello World from Python</div> </body></html>'# 发送邮件send_email( from_=邮件发送地址, to=to, subject=subject, template=template)
代码示例4:自定义HTML邮件发送函数
如果以上库无法满足您的需求,可以自定义HTML邮件发送函数。以下是自定义函数的代码。
代码解释
- 自定义函数:
send_html_email
函数接收邮件内容、主题和收件人地址,并返回HTML格式的邮件内容。 - 发送邮件:使用
urllib.parse
和sendmail
模块发送邮件。
示例代码
from urllib.parse import urlparse, urlunparsefrom sendmail import sendmaildef send_html_email(html_content, subject, to_address): # 创建邮件头信息 msg = f""" <html> <body> <div>Hello, {to_address}!</div> <p>这是一个测试邮件。请勿回复。</p> </body> </html> """ msg += html_content # 解析地址 parsed_url = urlparse('your SMTP address') if parsed_url.scheme == 'smtp': url = urlunparse( parsed_url._replace( scheme='https', netloc=parsed_url.netloc, path=f'"{to_address}"' ) ) else: url = f'{parsed_url.scheme}://{parsed_url.netloc}/{to_address}' sendmail( from_=邮件发送地址, to=[to_address], subject=subject, msg=msg )# 发送邮件send_html_email(html_content='这是一个测试邮件。请勿回复。', subject='测试邮件', to_address=' recipient email address')
代码示例5:使用PyPDF2发送HTML邮件
PyPDF2 是一个用于处理PDF文件的库,也可以用于生成HTML邮件。以下是使用 PyPDF2 发送邮件的代码。
代码解释
- 安装库:使用
pip install PyPDF2
安装库。 - 配置配置文件:创建
config.py
文件,配置邮件发送的地址、密码和收件人地址。 - 生成HTML邮件:使用PyPDF2生成包含HTML内容的PDF文件,然后将PDF文件转换为邮件。
示例代码
import PyPDF2# 配置文件config = { 'from': 'your Sender Email Address', 'to': [' recipient email address'], 'password': 'your password', 'subject': '邮件主题'}# 创建PDF writerpdf_writer = PyPDF2.PdfWriter()pdf_writer.addPage(PyPDF2.PdfPage())pdf_writer.encrypt()# 将PDF转换为邮件sendmail.send邮件( from_=邮件发送地址, to=recipient_list, subject=config['subject'], msg=pdf_writer.dumps())
代码示例6:使用Twilio发送邮件
Twilio 是一个提供短信和语音服务的平台,也可以用于发送HTML邮件。以下是使用 Twilio 发送邮件的代码。
代码解释
- 安装库:使用
pip install twilio
安装库。 - 配置 Twilio 账户:在Twilio控制台创建 Twilio 账户,并获取公共钥匙、凭据和认证密钥。
- 发送邮件:使用 Twilio API发送包含HTML内容的邮件。
示例代码
from twilio.rest import Client# 从 Twilio 控制台获取公共钥匙和凭据account_SID = 'your account SID'access_KEY = 'your access key'auth_token = 'your auth token'client = Client(account SID, access key, auth token)# 发送邮件messages = client.messages.create( to= recipient email address, from_= ' Twilio Send Email Address', body= <html> <body> <div>Hello World from Twilio</div> </body> </html>)
代码示例7:使用MailerLite发送邮件
MailerLite 是一个功能强大的邮件发送工具,支持HTML邮件。以下是使用 MailerLite 发送邮件的代码。
代码解释
- 安装库:使用
pip install pymailerlite
安装库。 - 配置配置文件:创建
config.py
文件,配置邮件发送的地址、密码和收件人地址。 - 发送邮件:使用 MailerLite 发送包含HTML内容的邮件。
示例代码
# 配置文件import osfrom pymailerlite import mailer, configconfig.set( from_=邮件发送地址, to=[' recipient email address'], subject='邮件主题', template='your template.html')# 发送邮件mailer.send([{'to': ' recipient email address', 'content': '<html>...</html>'}], force=True)
代码示例8:使用Postman发送邮件
Postman 是一个功能强大的HTTP客户端,可以用于发送邮件。以下是使用 Postman 发送邮件的代码。
代码解释
- 访问 Postman:访问 Postman 并找到“Email”服务。
- 配置请求:在请求头中设置
From
、To
和Subject
,并在请求体中包含HTML内容。 - 发送请求:发送 POST 请求,获取响应。
示例代码
# 发送邮件response = requests.post( 'https://smtp.example.com:587/MAIL FROM: your Sender Email Address', headers={ 'From': ' your Sender Email Address', 'To': ' recipient email address', 'Subject': '邮件主题' }, data={ 'body': '<html>...</html>' })
代码示例9:使用Mailgun发送邮件
Mailgun 是一个提供邮件发送服务的平台,支持HTML邮件。以下是使用 Mailgun 发送邮件的代码。
代码解释
- 注册 Mailgun 账户:访问 Mailgun 网站注册并获取 API 密钥。
- 配置请求:在请求头中设置
From
、To
和Subject
,并在请求体中包含HTML内容。 - 发送请求:发送 POST 请求,获取响应。
示例代码
import requests# 从 Mailgun 获取 API 密钥api_key = 'your API key'# 发送邮件response = requests.post( 'https://api.mailgun.net/v3/sends', headers={ 'Content-Type': 'application/json', 'From': ' your Sender Email Address', 'To': ' recipient email address', 'Subject': '邮件主题' }, data={'body': '<html>...</html>'}, auth=('your API key', ''))
结论
以上是 Python发送HTML邮件的9个代码示例,涵盖了不同的库和工具,包括PyYAML、beautiful-ssl、PyEmailypad、Twilio、MailerLite、Postman和Mailgun等。通过这些代码,您可以轻松实现发送HTML邮件的功能。希望这些代码对您有所帮助!


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格
【烽火邮箱】:烽火邮箱是一款简洁高效的企业邮箱平台,新客户赠送免费企业邮箱,一个起卖、按月付费(低至9.9元);支持别名邮箱及群组邮箱,支持定制无限邮箱。高权重纯净IP池,系统自带反垃圾机制。
立即查看 >> :企业邮箱价格
【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务,专业研发定制邮件营销系统及邮件群发解决方案!蜂邮自研产品线主要分为标准版、外贸版、企业版、定制版,及邮件API邮件SMTP接口服务。
立即查看 >> :邮件发送价格
【AokSend邮件API】:专注触发式邮件API发送服务。15元/万封,发送验证码邮件、忘记密码邮件、通知告警邮件等,不限速。综合送达率99%、进箱率98%。触发邮件也叫事务性邮件或推送邮件,包含:验证码邮件、重置密码邮件、余额提醒邮件、会员到期邮件、账号认证邮件等!
立即查看 >> :邮件发送价格