在Python中使用MIMEText发送HTML邮件和纯文本邮件
发布时间:2023-12-23 09:55:54
在Python中,可以使用MIMEText模块来发送HTML邮件和纯文本邮件。MIMEText是email.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)
在上述示例中,我们首先导入了MIMEText和smtplib模块。然后,我们定义了一个send_email函数,该函数接收发件人、收件人、主题、消息内容和是否为HTML邮件作为参数。
在函数内部,我们使用MIMEText类创建了一个MIME类型的消息对象msg。我们使用plain作为消息类型的默认值,如果is_html参数为True,则将其设置为html。然后,我们设置了邮件的发送者和接收者,以及邮件的主题。
最后,我们使用SMTP类连接到Gmail的SMTP服务器,并使用starttls()方法开启安全传输模式。然后,我们调用login()方法登录发件人的邮箱,输入邮箱的密码。
最后,我们使用send_message()方法发送邮件,并使用quit()方法关闭连接。
通过这个例子,我们可以看到如何使用MIMEText模块发送HTML邮件和纯文本邮件。无论是纯文本邮件还是HTML邮件,都可以通过设置MIMEText的消息类型来实现。
