Как встроить изображение в тело письма с помощью библиотеки exchangengelib python - PullRequest
1 голос
/ 06 августа 2020

Мне нужно вставить несколько изображений в тело письма. Я пробовал код ниже, но он не встраивает его в тело письма. Не собираюсь делать это как вложение

with open(i, 'rb') as f:
    my_logo = FileAttachment(
    name=i,
    content=f.read(),
    is_inline=True,
    content_type='GIF/Image',
    content_id=i,
)
m.attach(my_logo)

Спасибо

1 Ответ

1 голос
/ 06 августа 2020

Посмотрите пример в документации exchangengelib: https://ecederstrand.github.io/exchangelib/#attachments

Помимо создания вложения, вам необходимо указать его в своем HTML теле:

message = Message(...)
logo_filename = 'logo.png'
with open(logo_filename, 'rb') as f:
    my_logo = FileAttachment(
        name=logo_filename, content=f.read(),
        is_inline=True, content_id=logo_filename,
    )
message.attach(my_logo)
message.body = HTMLBody(
    '<html><body>Hello logo: <img src="cid:%s"></body></html>' % logo_filename
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...