当前位置:首页 > 未命名 > 正文内容

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

大大1年前 (2025-10-08)未命名675
烽火邮箱企业邮箱蜂邮EDM邮件营销系统

【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格

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

在现代邮件营销中,发送HTML邮件是提升用户体验和提高打开率的重要手段。使用Python编写邮件发送脚本,可以轻松实现这一点。本文将详细讲解如何在Python中发送HTML邮件,并提供9个实用的代码示例,帮助您快速上手。

代码示例1:使用PyYAML生成HTML邮件模板

PyYAML是一个功能强大的邮件模板生成工具,可以帮助您快速创建HTML邮件模板。以下是使用PyYAML生成模板并发送邮件的完整代码。

代码解释

  1. 导入模块:使用urllib.parse和sendmail模块进行URL解析和邮件发送。
  2. 配置参数:包括邮件发送的地址、密码、收件人地址和邮件模板文件。
  3. 解析模板文件:使用PyYAML解析HTML模板文件。
  4. 填充内容:将收件人信息插入到模板中。
  5. 发送邮件:使用sendmail发送包含填充内容的邮件。

示例代码

from urllib.parse import urlparse, urlunparse
from 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邮件的代码。

代码解释

  1. 安装库:使用pip install beautiful-ssl安装库。
  2. 配置配置文件:创建config.py文件,配置邮件发送的地址、密码和收件人地址。
  3. 发送邮件:使用send邮件函数发送包含HTML内容的邮件。

示例代码

# 配置文件
import os
from 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 发送邮件的代码。

代码解释

  1. 安装库:使用pip install pyemailypad安装库。
  2. 配置配置文件:创建config.py文件,配置邮件发送的地址、密码和收件人地址。
  3. 发送邮件:使用send邮件函数发送包含HTML内容的邮件。

示例代码

# 配置文件
import os
from 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邮件发送函数。以下是自定义函数的代码。

代码解释

  1. 自定义函数:send_html_email 函数接收邮件内容、主题和收件人地址,并返回HTML格式的邮件内容。
  2. 发送邮件:使用urllib.parse和sendmail模块发送邮件。

示例代码

from urllib.parse import urlparse, urlunparse
from sendmail import sendmail

def 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 发送邮件的代码。

代码解释

  1. 安装库:使用pip install PyPDF2安装库。
  2. 配置配置文件:创建config.py文件,配置邮件发送的地址、密码和收件人地址。
  3. 生成HTML邮件:使用PyPDF2生成包含HTML内容的PDF文件,然后将PDF文件转换为邮件。

示例代码

import PyPDF2

# 配置文件
config = {
    'from': 'your Sender Email Address',
    'to': [' recipient email address'],
    'password': 'your password',
    'subject': '邮件主题'
}

# 创建PDF writer
pdf_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 发送邮件的代码。

代码解释

  1. 安装库:使用pip install twilio安装库。
  2. 配置 Twilio 账户:在Twilio控制台创建 Twilio 账户,并获取公共钥匙、凭据和认证密钥。
  3. 发送邮件:使用 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 发送邮件的代码。

代码解释

  1. 安装库:使用pip install pymailerlite安装库。
  2. 配置配置文件:创建config.py文件,配置邮件发送的地址、密码和收件人地址。
  3. 发送邮件:使用 MailerLite 发送包含HTML内容的邮件。

示例代码

# 配置文件
import os
from pymailerlite import mailer, config

config.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 发送邮件的代码。

代码解释

  1. 访问 Postman:访问 Postman 并找到“Email”服务。
  2. 配置请求:在请求头中设置From、To和Subject,并在请求体中包含HTML内容。
  3. 发送请求:发送 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 发送邮件的代码。

代码解释

  1. 注册 Mailgun 账户:访问 Mailgun 网站注册并获取 API 密钥。
  2. 配置请求:在请求头中设置From、To和Subject,并在请求体中包含HTML内容。
  3. 发送请求:发送 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邮件的功能。希望这些代码对您有所帮助!

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

4.2/5 - (9 votes)


蜂邮EDM邮件营销系统烽火邮箱企业邮箱

【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格

🔔🔔🔔

【烽火邮箱】:烽火邮箱是一款简洁高效的企业邮箱平台,新客户赠送免费企业邮箱,一个起卖、按月付费(低至9.9元);支持别名邮箱及群组邮箱,支持定制无限邮箱。高权重纯净IP池,系统自带反垃圾机制。
立即查看 >> :企业邮箱价格


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务,专业研发定制邮件营销系统及邮件群发解决方案!蜂邮自研产品线主要分为标准版、外贸版、企业版、定制版,及邮件API邮件SMTP接口服务。
立即查看 >> :邮件发送价格


【AokSend邮件API】:专注触发式邮件API发送服务。15元/万封,发送验证码邮件、忘记密码邮件、通知告警邮件等,不限速。综合送达率99%、进箱率98%。触发邮件也叫事务性邮件或推送邮件,包含:验证码邮件、重置密码邮件、余额提醒邮件、会员到期邮件、账号认证邮件等!
立即查看 >> :邮件发送价格

🔔🔔🔔

扫描二维码推送至手机访问。

版权声明:本文由MailBing邮件营销博客发布,如需转载请注明出处。

本文链接:https://edm.mailbing.com/id6774.html

分享给朋友: