Отправка Многослойных электронных писем HTML, которые содержат встроенные изображения

У меня была эта проблема на 64-битной Windows 8.1, и все, что в итоге решило все, - это запуск gradle в командной строке в режиме отладки, в папке проекта:

gradlew -d assembleDebug

Запуск без флага -d была та же проблема.

После первого запуска все было в порядке, я даже мог почистить и перестроить свой проект.

63
задан BartoszKP 28 September 2015 в 08:37
поделиться

1 ответ

Вот пример, который я нашел.

Рецепт 473810: Отправить электронное письмо в формате HTML со встроенным изображением и альтернативным обычным текстом :

HTML - лучший способ желая отправлять электронные письма с форматированным текстом, верстка и графика. Часто это желательно встроить графику в сообщение, чтобы получатели могли отображать сообщение напрямую, без дальнейшего загрузок.

Некоторые почтовые агенты не поддерживают HTML или их пользователи предпочитают получать простые текстовые сообщения. Отправители HTML сообщения должны включать простой текст сообщение в качестве альтернативы этим пользователей.

Этот рецепт отправляет короткое HTML-сообщение с одним встроенным изображением и альтернативное текстовое сообщение.

# Send an HTML email with an embedded image and a plain text message for
# email clients that don't want to display the HTML.

from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage

# Define these once; use them twice!
strFrom = 'from@example.com'
strTo = 'to@example.com'

# Create the root message and fill in the from, to, and subject headers
msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = 'test message'
msgRoot['From'] = strFrom
msgRoot['To'] = strTo
msgRoot.preamble = 'This is a multi-part message in MIME format.'

# Encapsulate the plain and HTML versions of the message body in an
# 'alternative' part, so message agents can decide which they want to display.
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)

msgText = MIMEText('This is the alternative plain text message.')
msgAlternative.attach(msgText)

# We reference the image in the IMG SRC attribute by the ID we give it below
msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image1"><br>Nifty!', 'html')
msgAlternative.attach(msgText)

# This example assumes the image is in the current directory
fp = open('test.jpg', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()

# Define the image's ID as referenced above
msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage)

# Send the email (this example assumes SMTP authentication is required)
import smtplib
smtp = smtplib.SMTP()
smtp.connect('smtp.example.com')
smtp.login('exampleuser', 'examplepass')
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()
132
ответ дан 24 November 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: