У меня есть этот скрипт python, который отправляет письма с использованием модуля smtplib.Как отправить почту в python
#! /usr/bin/python
import smtplib
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from1 = "root"
to = "[email protected]"
subject = "test mail"
msg = MIMEMultipart()
msg['From'] = from1
msg['To'] = to
msg['Subject'] = subject
text = """Hi,
This is test messgae"""
html = """\
<html>
<head></head>
<body>
<p>Hi!<br>
How are you?<br>
Here is the <a href="http://www.python.org">link</a> you wanted.
</p>
</body>
</html>
"""
fi = open("dragon.jpg", 'rb')
img = MIMEImage(fi.read())
fi.close()
msg.attach(img)
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
msg.attach(part1)
msg.attach(part2)
smtp_obj = smtplib.SMTP('rinacac-test.egi.ericsson.com')
smtp_obj.sendmail(from1, to, msg.as_string())
smtp_obj.quit()
Скрипт работает, но мой HTML содержание 'HTML' & изображение 'dragon.jpg' появляются в виде вложений. Я хочу, чтобы они отображались как содержимое моей почты, а не как вложения. Пожалуйста, помогите
Обновление: Я до сих пор не в состоянии понять, какую роль играет здесь многопользовательская/альтернативная игра. Кроме того, в рамках более ранней ссылки, которую вы разделили ниже, линия не отображается в письме.
msgText = MIMEText('This is the alternative plain text message.')
msgAlternative.attach(msgText)
Во-вторых объект 'msgText', который содержит строку HTML крепится с помощью '' msgAlnernative
msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image1"><br>Nifty!', 'html')
msgAlnernative.attach(msgText)
но объект 'msgImage', который считывает изображение прикрепляется с 'msgRoot'. Почему это так ..
msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage)
Не удалось найти какой-либо вспомогательный документ по MIMEMultipart/related и alternative. Пожалуйста, помогите
#!/usr/bin/perl не должно быть/usr/bin/python? И вы могли бы расшифровать изображение как строку base64 и поместить его в тег – BigZ
oops .. Я в основном работаю над perl;) .. В любом случае я запускал скрипт вроде «python script.py» .. :) – Geetika
может помочь вы http://stackoverflow.com/questions/920910/sending-multipart-html-emails-which-contain-embedded-image –