Я использую pd.to_html для отправки своего кадра данных pandas по электронной почте, электронные письма отлично открываются в браузере Gmail со всеми таблицами в теле электронной почты. Но они не открываются в Outlook, все таблицы идут как вложение HTML в Outlook.
Используя следующий код для преобразования моего фрейма данных в HTML.
df_1 = df_1.to_html (index = False, header = True, border = 4, justify = 'left', col_space = 9)
из отображения импорта IPython.core.display, HTML дисплей (HTML (df_1))
Вот как я отправляю электронное письмо: -
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
email_user = '[email protected]'
email_password = '*********'
email_send = '[email protected]'
subject = 'ABCDEF'
msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject
body_1 = """ Hey All,
Please find the data:
"""
msg.attach(MIMEText(body_1,'plain'))
msg.attach(MIMEText(df_1,'html'))
text = msg.as_string()
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(email_user,email_password)
server.sendmail(email_user,email_send.split(','),text)
server.quit()
Электронная почта с ошибкой открывается в Gmail правильно. Но в Outlook таблицы идут как вложение.
Эй, Рич, я отредактировал вопрос с дополнительной информацией, пожалуйста, проверьте и дайте мне знать, если есть какое-либо решение для того же.






Вы можете сделать одно вложение как html. Это сработало для меня.
df_1 = df_1.to_html(index=False,header= True,border=4,justify = 'left',col_space =9)
mailBody= """<p> Hi All, <br><br>
Please find the data: </p> <br><br>
""" + df_1 + """<br> Thanks. """
msg.attach(MIMEText(mailBody,'html'))
Нам нужно увидеть, как вы отправляете / создаете электронное письмо.