欢迎访问宙启技术站
智能推送

在Python中使用MIMEText发送HTML邮件和纯文本邮件

发布时间:2023-12-23 09:55:54

在Python中,可以使用MIMEText模块来发送HTML邮件和纯文本邮件。MIMETextemail.mime模块中的一个类,用于创建MIME类型的消息。

下面是一个示例,展示了如何使用MIMEText发送HTML邮件和纯文本邮件:

import smtplib
from email.mime.text import MIMEText

def send_email(sender, receiver, subject, message, is_html=False):
    # 创建一个MIMEText对象
    msg = MIMEText(message, "html" if is_html else "plain")

    # 设置邮件的发送者和接收者
    msg["From"] = sender
    msg["To"] = receiver
    msg["Subject"] = subject

    # 发送邮件
    server = smtplib.SMTP("smtp.gmail.com", 587)  # 使用Gmail的SMTP服务器
    server.starttls()  # 开启安全传输模式
    server.login(sender, "password")  # 输入发件人邮箱的密码

    server.send_message(msg)  # 发送邮件
    server.quit()  # 关闭连接

# 发送纯文本邮件
send_email("sender@gmail.com", "receiver@gmail.com", "Hello", "This is a plain text email.")

# 发送HTML邮件
html_message = """
<html>
<head></head>
<body>
  <h1>Hello</h1>
  <p>This is an <strong>HTML</strong> email.</p>
</body>
</html>
"""
send_email("sender@gmail.com", "receiver@gmail.com", "Hello", html_message, is_html=True)

在上述示例中,我们首先导入了MIMETextsmtplib模块。然后,我们定义了一个send_email函数,该函数接收发件人、收件人、主题、消息内容和是否为HTML邮件作为参数。

在函数内部,我们使用MIMEText类创建了一个MIME类型的消息对象msg。我们使用plain作为消息类型的默认值,如果is_html参数为True,则将其设置为html。然后,我们设置了邮件的发送者和接收者,以及邮件的主题。

最后,我们使用SMTP类连接到Gmail的SMTP服务器,并使用starttls()方法开启安全传输模式。然后,我们调用login()方法登录发件人的邮箱,输入邮箱的密码。

最后,我们使用send_message()方法发送邮件,并使用quit()方法关闭连接。

通过这个例子,我们可以看到如何使用MIMEText模块发送HTML邮件和纯文本邮件。无论是纯文本邮件还是HTML邮件,都可以通过设置MIMEText的消息类型来实现。