отправлять электронную почту на Python и перечислять элементы как содержимое электронной почты, а не как вложение - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь отправить электронное письмо, содержащее список URL-адресов вместе с сообщением о том, что это URL-адреса, например:

BADURL = ['abc.123.com','xyz.456.com','rtf.892.com']

Требующийся вывод

Ниже приведены ПЛОХИЕ URL

abc.123.com
xyz.456.com
rtf.892.com

Я пишу следующий код, но получаю сообщение в виде тела письма и URL в виде вложения. Я не хочу отправлять URL-адреса как вложения, а просто хочу, чтобы они были указаны в письме. Вот мой код:

message = multipart.MIMEMultipart('mixed')

message['Subject'] = 'Policy.txt file update'

message['From'] = sender

message['To'] = ','.join(destination)

message['Date'] = formatdate(localtime=True)

message.attach(text.MIMEText('Following are BAD URLs'))

message.attach(text.MIMEText('\n'.join(y),'plain'))

print('sending message')enter code here

print (message.as_string())

try:

z = smtplib.SMTP('localhost')

z.sendmail(sender, destination, message.as_string())

z.quit()

except(smtplib.SMTPException, IOError) as e:

z.quit()

print(str(e))

1 Ответ

0 голосов
/ 01 мая 2018

Попробуйте изменить соответствующую часть вашего кода на эти

message = multipart.MIMEMultipart('alternative')

message.attach(text.MIMEText('\n'.join(y),'html'))

и когда вы включаете URL-адреса, включайте их в теги; скажи положи

<a href="abc.123.com">some title here</a>

в вашем сообщении.

Это должно работать.

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