【发布时间】:2022-01-12 13:29:51
【问题描述】:
我需要将电子邮件正文中的 sql 表数据作为 python 中的 html 表发送。所以我先用下面的方法来获取数据。
def table_row(date, X1, X2, X3):
return f"""
<tr>
<td style="text-align:center">{date}</td>
<td style="text-align:center">{X1}</td>
<td style="text-align:center">{X2}</td>
<td style="text-align:center">{X3}</td>
"""
table_rows = []
for index, row in df.iterrows():
table_rows.append(
table_row(
date=row['Date'],
X1=row['X1'],
X2=row['X2'],
X3=row['X3'],
)
)
table_rows_str = "\n".join(table_rows)
现在我创建了电子邮件正文如下,
import smtplib
sender = ''
receivers = ['']
message = f"""From: XX <XX@abc.lk>
To: ;
MIME-Version: 1.0
Content-type: text/html
Subject :{mailsubject}
Dear All,<br/><br/> Please refer below data :<br/><br/>
Data : <br/>
<table border="2" padding: 10px border: 1px solid black border-collapse: collapse cellpadding="2" cellspacing="0">
<tr>
<td style="text-align:center"><b>Date</b></td>
<td style="text-align:center"><b>X1</b></td>
<td style="text-align:center"><b>X2</b></td>
<td style="text-align:center"><b>X3</b></td>
</tr>
{table_rows_str}
</table><br/><br/>
<b>This is an automated email, Please do not reply ...</b>
"""
try:
smtpObj = smtplib.SMTP('',25)
smtpObj.sendmail(sender, receivers, message)
print ("Successfully sent email")
except smtplib.SMTPException:
pass
except smtplib.socket.error:
pass
这很好,我收到的电子邮件如下所示,
但我需要以水平方式制作此表,以便我可以轻松识别一些模式。我想要的输出如下,
我需要在此处添加哪些更改才能获得所需的输出?我是这个 HTML 内容的初学者。
【问题讨论】: