Python: отправить письмо в формате html с помощью sendmail - PullRequest
2 голосов
/ 15 февраля 2011

Может кто-нибудь сказать мне, как отправить письмо в формате HTML с sendmail на python?

Я хотел бы отправить это:

<code><pre>some code

Версия Python 2.4.3 и не может быть обновлена.

Ответы [ 4 ]

3 голосов
/ 16 февраля 2011
<code># assemble the mail content
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
message = MIMEMultipart('alternative')
message.add_header('Subject', 'subject goes here')
# add a few more add_header calls here for things like "To", "Cc", "From"
message.attach(MIMEText('some code')) # plain text alternative
message.attach(MIMEText('<html><pre>some code
', # html content 'HTML')) # отправить письмо на sendmail sendmail = os.popen ('sendmail receient@example.org', 'w') sendmail.write (message.as_string ()) если sendmail.close () не является None: распечатать 'ошибка: не удалось отправить почту :-('
1 голос
/ 15 февраля 2011

Вы можете проверить код веб-фреймворка для различных способов отправки электронной почты, включая sendmail: https://github.com/webpy/webpy/blob/master/web/utils.py#L1415

0 голосов
/ 16 февраля 2011

Я нахожу простой способ сделать это:

Когда я запускаю свой скрипт, я записываю свои выходные данные в файл (mail.txt), затем в конце я просто вызываю:

os.popen('cat mail.txt | sendmail -t')

mail.txt содержимое:

<code>To: my.mail@gmail.com
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="123"
Subject: My subject

This is a MIME-encapsulated message

--123
Content-Type: text/html

<html>
   <head>
      <title>HTML E-mail</title>
   </head>
   <body>
      <pre>Some code

Может быть, это не лучший способ сделать это, но у меня хорошо работает ...

0 голосов
/ 15 февраля 2011

Просто введите HTML-код в сообщении, а также укажите версию и содержимое MIME в виде text / html. http://www.tutorialspoint.com/python/python_sending_email.htm

...