Python Email in HTML format mimelib

偶尔善良 提交于 2019-12-01 11:59:01

Use yagmail (full disclose: I'm the maintainer/developer):

import time
import yagmail
yag = yagmail.SMTP(username, password)

text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttps://www.python.org"
html = df[['SYMBOL','ARBITRAGE BASIS %']].to_html()

yag.send('albalb@gmail.com', "This a reminder call " + time.strftime("%c"), [text,html])

yagmail exists to make it really easy for us to send emails using attachments, images, and html among other things.

Get started by installing it using

pip install yagmail

The problem is that you are marking up the parts as multipart/alternative -- this means, "I have the information in multiple renderings; choose the one you prefer" and your email client is apparently set up to choose the HTML version. Both parts are in fact there, but you have tagged them as either/or where apparently you want both.

The conventional quick fix would be to switch to multipart/related but really, what is the purpose of a text part which simply says the content is elsewhere?

If you want the HTML as an attachment, maybe also set Content-Disposition: attachment (and supply a file name) for the HTML part.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!