Python列表数据插入邮件正文表格内的程序
时间: 2023-06-04 21:04:36 浏览: 162
以下是一个示例程序,可以将Python列表数据插入到邮件正文的表格中:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
# 设置发件人、收件人和邮件主题
from_addr = 'xxxxx@xxx.com'
to_addr = 'xxxxx@xxx.com'
subject = 'Python列表数据插入邮件正文表格内的程序'
# 创建邮件的MIMEMultipart对象,并设置邮件的各个部分
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject
# 创建表格的HTML代码,数据为Python列表数据
table_html = '<table><tr><th>编号</th><th>姓名</th><th>年龄</th></tr>'
data = [[1, '张三', 18], [2, '李四', 20], [3, '王五', 22]]
for row in data:
table_html += '<tr><td>{}</td><td>{}</td><td>{}</td></tr>'.format(row[0], row[1], row[2])
table_html += '</table>'
# 将表格的HTML代码添加到邮件正文中
msg.attach(MIMEText(table_html, 'html'))
# 发送邮件
smtp_server = 'smtp.xxx.com'
smtp_port = 25
smtp_username = 'xxxxx@xxx.com'
smtp_password = 'xxxxx'
smtp_ssl = False
server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
if smtp_ssl:
server.starttls()
server.ehlo()
server.login(smtp_username, smtp_password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
```
在上面的示例中,我们首先创建一个MIMEMultipart对象作为整个邮件的容器,然后创建一个HTML格式的表格,将Python列表数据插入到表格中,最后将HTML代码作为邮件正文的一部分添加到MIMEMultipart对象中,最后通过SMTP服务器发送邮件。