python - таблица отсутствует в приложении к сообщению - PullRequest
0 голосов
/ 31 марта 2020

Я следовал руководству, чтобы встроить картинку в мою электронную почту. После прикрепления этой части к моему сообщению я прикрепил формат данных html. Картинка хорошо видна в отправленном электронном письме, однако таблица полностью отсутствует.

        with open (attachment, 'rb') as f:
            mime = MIMEBase ('image', 'png', filename='img1.png')
            mime.add_header ('Content-Disposition', 'attachment', filename='img1.png')
            mime.add_header ('X-Attachment-Id', '0')
            mime.add_header ('Content-ID', '<0>')
            mime.set_payload (f.read ())
            encoders.encode_base64 (mime)
            msg.attach (mime)
        f.close()

        msg.attach (MIMEText (
            '<h><img src="cid:0"></h>' ,'html', 'utf-8'))


        data =  pd.DataFrame({'col1':[1,2,3,4,5],'col2':[1,2,3,4,5]})
        data_html = "<body>"+ data.to_html()+"</body>"
        msg.attach(MIMEText (data_html , 'html'))

Я также пробовал многокомпонентное присоединение (для таблицы: присоединить как «обычное», а затем как «html»), не работает. Я попытался установить img на уровне заголовка, тела и абзаца, но ни одна из них не отображает мою таблицу ниже.

Любые предложения приветствуются!

1 Ответ

0 голосов
/ 31 марта 2020

так что я просто разобрался, как это обойти. Вместо того, чтобы прикрепить

'<img src="cid:0">' 

к сообщению, я добавил этот фрагмент к строке html, например

htmlf = "<body>"+"<td>"+'<img src="cid:0">'+ "</td>"+data.to_html()+"</body>"

, и это сработало.

До сих пор понятия не имею почему отдельное присоединение не сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...