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

使用Python和email.message发送HTML格式的电子邮件

发布时间:2023-12-27 17:04:43

使用Python和email.message模块发送HTML格式的电子邮件非常简单。email.message模块提供了各种功能来创建和格式化电子邮件消息。

首先,我们需要导入必要的模块和类。代码如下:

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

接下来,我们需要填写发送者和接收者的地址。代码如下:

sender = 'sender_email_address'
receiver = 'receiver_email_address'

然后,我们需要创建一个包含邮件内容的MIMEMultipart对象。代码如下:

message = MIMEMultipart()
message['From'] = sender
message['To'] = receiver
message['Subject'] = 'HTML Email Subject'

接下来,我们需要将HTML内容添加到邮件中。我们可以使用MIMEText类来创建电子邮件正文。代码如下:

html_content = """
<html>
<body>
<h1>This is an HTML Email</h1>
<p>This email contains HTML content.</p>
<p>You can format the email using HTML tags.</p>
</body>
</html>
"""

html_part = MIMEText(html_content, 'html')
message.attach(html_part)

在这个例子中,我们创建了一个简单的HTML页面,并将其作为邮件的正文添加到MIMEMultipart对象中。我们还指定了MIME的类型为'html'。

最后,我们需要使用SMTP服务器发送电子邮件。首先,我们需要连接到SMTP服务器。代码如下:

with smtplib.SMTP(host='smtp.gmail.com', port=587) as server:
    server.starttls()
    server.login(sender, 'password')
    server.send_message(message)

在将代码应用于实际情况时,需要将SMTP服务器的主机和端口更改为正确的值,并提供发送者的电子邮件地址和密码。

在这个例子中,我们使用了Gmail的SMTP服务器。我们使用starttls()方法来建立TLS加密连接,并使用login()方法进行身份验证。最后,我们使用send_message()方法发送邮件。

完整的示例代码如下:

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

sender = 'sender_email_address'
receiver = 'receiver_email_address'

message = MIMEMultipart()
message['From'] = sender
message['To'] = receiver
message['Subject'] = 'HTML Email Subject'

html_content = """
<html>
<body>
<h1>This is an HTML Email</h1>
<p>This email contains HTML content.</p>
<p>You can format the email using HTML tags.</p>
</body>
</html>
"""

html_part = MIMEText(html_content, 'html')
message.attach(html_part)

with smtplib.SMTP(host='smtp.gmail.com', port=587) as server:
    server.starttls()
    server.login(sender, 'password')
    server.send_message(message)

使用这个示例代码,你可以发送HTML格式的电子邮件。只需将发件人、收件人、SMTP服务器等相关信息替换为实际值即可。

请确保在使用代码时提供正确的电子邮件地址和密码,并将SMTP服务器的主机名和端口更改为适用于你的设定。