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

Python中使用MIMEMultipart()创建带有HTML内容的邮件

发布时间:2023-12-25 18:28:59

使用Python中的smtplib和email模块可以很方便地创建带有HTML内容的邮件。下面是一个使用MIMEMultipart()创建邮件的示例:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# 设置发件人和收件人
from_addr = 'your_email@gmail.com'
to_addr = 'recipient_email@gmail.com'

# 设置SMTP服务器地址和端口
smtp_server = 'smtp.gmail.com'
smtp_port = 587

# 设置发件人邮箱的用户名和密码
username = 'your_email@gmail.com'
password = 'your_password'

# 创建一个MIMEMultipart实例,并设置邮件的主题
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = 'Test HTML Email'

# 创建HTML内容
html_content = """
<html>
<body>
<h1>This is an HTML email</h1>
<p>Hello, world!</p>
</body>
</html>
"""

# 创建一个MIMEText实例,并设置HTML内容和邮件类型('html')
html_part = MIMEText(html_content, 'html')
msg.attach(html_part)

# 连接SMTP服务器,登录发件人邮箱
server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()  # 向服务器发送ehlo指令,表示与服务器建立连接
server.starttls()  # 启动TLS加密,如果需要的话
server.login(username, password)

# 发送邮件
server.sendmail(from_addr, to_addr, msg.as_string())

# 关闭连接
server.quit()

上述代码中,我们首先导入了smtplib和email模块的相关类。然后,我们设置了发件人的邮箱地址、 SMTP服务器地址和端口、发件人邮箱的用户名和密码,以及邮件的主题。接下来,我们使用MIMEMultipart()创建一个邮件实例,并设置发件人、收件人和主题。

然后,我们使用MIMEText类创建一个MIMEText实例,并将HTML内容和邮件类型('html')作为参数传递给该实例。接着,我们使用MIMEMultipart实例的attach()方法将MIMEText实例添加到邮件实例中。

最后,我们使用smtplib模块的SMTP类与SMTP服务器建立连接,并使用login()方法登录发件人邮箱。接着,我们使用sendmail()方法发送邮件。最后,我们使用quit()方法关闭与SMTP服务器的连接。

这样,就可以使用Python中的smtplib和email模块创建带有HTML内容的邮件了。