Я пытаюсь отправить диаграмму боке через электронную почту outlook как тело.И вы знаете, график боке, я сгенерировал как файл HTML.То же самое, что я хотел бы отправить в электронном письме, вложенном как тело письма.
Я попытался прочитать чтение HTML-файла с помощью команды read и указать то же самое, что и htmlbody.Но это приходит как пустое в электронном письме.Ничто не приходит населенным.Ниже приведен код, который я пробовал.
import win32com.client as win32
import psutil
import os
import subprocess
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'ABC@XYZ.com'
mail.Subject = 'Sent through Python'
html_url='C:/Users/ABC/Documents/XYZ/test.htm'
with open(html_url, 'r') as myfile:
data=myfile.read()
mail.HTMLBody = data
mail.send
Затем попробовал следующее ... Но тело электронной почты все еще пустое. Любая идея, что не так ???
from bokeh.embed import components
from jinja2 import Template
from bokeh.resources import INLINE
from bokeh.plotting import figure
from bokeh.io import output_file,show,output_notebook
import win32com.client as win32
import psutil
import os
import subprocess
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'ABC@XYZ.com'
mail.Subject = 'Sent through Python'
def get_plot_components() :
# build your plot here
plot = figure()
plot.circle([2,3,4],[5,6,7])
show(plot)
script, div = components(plot)
return script, div
template = Template('''
<div id='bokeh_plot_for_the_body'>
{{ resources | safe }}
{{ div | safe }}
{{ script | safe }}
</div>
''')
script, div = get_plot_components()
outlook_body = template.render(resources = INLINE.render(),
script = script,
div = div)
mail.HTMLBody = outlook_body
mail.send