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

在Python中使用MIMEText()发送包含表格的邮件

发布时间:2024-01-03 04:07:24

在Python中,我们可以使用MIMEText模块来发送包含表格的邮件。MIME(Multipurpose Internet Mail Extensions)是指互联网上用来支持扩展邮件传输的一种标准,MIMEText模块则是在MIME标准的基础上定义的一组邮件相关的类。

下面是一个使用MIMEText发送包含表格的邮件的示例代码:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.utils import COMMASPACE
from email.header import Header

# 设置发送方和接收方的邮箱地址
sender = "sender@example.com"
receiver = "receiver@example.com"

# 创建一个MIMEMultipart对象,作为邮件的根容器
msg = MIMEMultipart()

# 设置邮件的subject
subject = "这是一封包含表格的邮件"
msg["Subject"] = Header(subject, "utf-8")

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

# 创建表格内容
table_content = '''
<table>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>性别</th>
  </tr>
  <tr>
    <td>张三</td>
    <td>25</td>
    <td>男</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>28</td>
    <td>女</td>
  </tr>
</table>
'''

# 使用MIMEText将表格内容转换成HTML格式
html_table = MIMEText(table_content, "html", "utf-8")

# 将表格内容添加到邮件中
msg.attach(html_table)

# 发送邮件的SMTP服务器地址
smtp_server = "smtp.example.com"
# 发送方的邮箱账号和密码
username = "username"
password = "password"

try:
    # 连接SMTP服务器并进行身份验证
    server = smtplib.SMTP(smtp_server)
    server.login(username, password)
    # 发送邮件
    server.sendmail(sender, receiver, msg.as_string())
    print("邮件发送成功")
except Exception as e:
    print("邮件发送失败")
finally:
    # 关闭连接
    server.quit()

这个示例代码中,我们先导入了需要使用的模块和类,然后设置了邮件的发送方和接收方的邮箱地址。然后,我们创建了一个MIMEMultipart对象,作为邮件的根容器。

接着,我们设置了邮件的主题,并将发送方和接收方设置为邮件的发送方和接收方。然后,我们创建了一个包含表格的HTML内容,并使用MIMEText将其转换成HTML格式。接下来,我们将HTML格式的表格内容添加到邮件中。

最后,我们设置了发送邮件的SMTP服务器地址,并设置了发送方的邮箱账号和密码。然后,我们连接SMTP服务器并进行身份验证。最后,我们调用sendmail方法,将邮件发送给接收方。

需要注意的是,这只是一个基本的示例代码,实际使用时,你可能需要根据具体情况进行调整和扩展。