Использование Python / Postfix / SendMail / Mutt для отправки электронных писем в формате HTML, хранящихся в виде текстовых файлов - PullRequest
1 голос
/ 21 февраля 2012

У меня есть каталог, полный файлов электронной почты, которые выглядят так:

From: Scoop <my@email.com>
To: your@email.com
MIME-Version: 1.0
Content-type: text/html
Subject: Hello There
X-Header1: some-custom-header
X-Header2: another-custom-header
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Hello There</title>
</head>
<body>
Some <b>html</b>.
</body>
</html>

Я использую Python и искал способ перебрать эти файлы / сообщения и отправить их на SMTP-сервер, используя smtplib Python. Моя проблема в том, что вы вынуждены указывать адреса в / из (которые у меня уже есть в заголовке простого текста):

message.sendmail('from@email.com', [to@email.com], myfilecontents.as_string())

Другие альтернативы, о которых я подумал (но на самом деле не хочу к ним прибегать), - сброс этих текстовых файлов в папку для Postfix / SendMail / Mutt (в качестве транспорта) в надежде, что они будут возможность обрабатывать текстовые файлы и отправлять их через SMTP на мой фактический SMTP-сервер.

Будем весьма благодарны за любые мысли или переживания на этом фронте. Я использую Arch Linux, если это имеет значение.

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Как только вы исправите формат файла, поместив новую строку после заголовков, вы можете использовать email.parser для анализа файла на предмет заголовков, необходимых для конверта.

0 голосов
/ 21 февраля 2012

smtplib Python на самом деле правильно.

Сообщения электронной почты в одиночку не могут быть отправлены правильно. Вам нужно сообщение и отправителя конверта и получателя конверта.

Рассмотрим случай "Bcc". В сообщении не указываются получатели, но предполагается, что сообщение будет доставлено этим людям.

«СК» работает в «правильных» системах обработки электронной почты, поскольку отправляемые сообщения всегда имеют отправителей и получателей конвертов, связанных с ними.

Иногда человек подходит и «просто хочет отправить сообщение», и «не заботится о скрытой копии», и создает обманчивую систему, которая, к счастью, «что-то» делает, но это огромное приближение.

Ровно договориться о единовременной отправке нескольких потерянных сообщений или что-то в этом роде.

Но это не очень хороший подход для регулярного повторяющегося процесса.

Что вы действительно пытаетесь здесь сделать? Откуда пришли эти сообщения?

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