Как экспортировать отправленное письмо в файл eml/msg?

Как можно экспортировать полное письмо, отправленное через Discourse, в файл (формат eml или msg)?

Контекст вопроса: У нас возникли проблемы, когда приглашения по электронной почте от Discourse классифицируются как спам почтовым сервером получателя (у одного провайдера электронной почты — у других провайдеров всё работает). Для отладки проблемы провайдер электронной почты запросил примеры отправленных писем в форматах eml или msg.

Спасибо! Симон

Привет, Саймон :wave:

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

Например, в Gmail это можно сделать здесь, чтобы скачать письмо в формате .eml:

Попробуйте проверить логи вашего сервиса отправки электронной почты.

Спасибо за ваши ответы!

Я об этом знаю и уже предоставил пример письма, которое успешно прошло через другого провайдера к рассматриваемому провайдеру. Однако их поддержка явно запросила именно пример, отправленный им. :-/ Я не в положении обсуждать с ними смысл этого требования, но просто хочу выполнить их запрос…

@pfaffman, не могли бы вы немного подробнее объяснить? Не уверен, правильно ли я вас понял.
Мы используем «стандартную» установку с двумя контейнерами Docker (discourse, mail-in) и отправляем письма через SMTP-соединение, используя адрес электронной почты рассматриваемого провайдера для других адресов того же провайдера. Поскольку провайдер просит меня предоставить примеры, очевидно, что они не могут (или не хотят) найти такой пример в своей системе. Поэтому я ищу способ экспортировать его из Discourse. В панели администратора я вижу письмо как «недоставленное», но вижу только входящее сообщение об отказе в доставке, а не отправленное письмо. В разделе «Отправленные» я вижу строку с этим письмом, где также указаны детали SMTP: 250 2.0.0 OK queued with id Z2869bz5GCbjCq9, но нет деталей самого письма (заголовки, тело) или возможности его скачать/экспортировать.

Похоже, это невозможно, поэтому я создам запрос на новую функцию: Feature request: export of sent email as file (eml or msg)

Чтобы иметь возможность экспортировать отправленные письма, нам нужно сохранять их копии.

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

На данный момент вы можете настроить локальный Postfix, который будет сохранять копии в другую директорию или отправлять их вам с использованием BCC.

Спасибо за ваш ответ!

Да. Настройка, аналогичная уже существующей опции delete email logs after days, вероятно, была бы разумным решением: это позволило бы предотвращать переполнение диска, удаляя сами письма через N дней.

Хотя это выходит за рамки моих текущих компетенций, первый подход кажется мне реализуемым как временное решение (с дополнительными усилиями). Что касается второго предложения, то я опасается, что поддержка отклонит письмо, поскольку принимающий почтовый сервер мог изменить его… :-/

Когда мне недавно нужно было это сделать, я получил сообщение от Mailgun. Думаю, и другие сервисы позволят вам это сделать.

Что ж, мы не используем какой-либо «сервис». Просто SMTP на обычный почтовый ящик (~160 пользователей; <20 писем/день).

У вас есть SMTP-сервер, который принимает и (возможно, не) доставляет электронные письма. У вас нет доступа к этим логам?

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

Мы не «владеем», а просто «используем» SMTP-сервер. :wink: Это почтовый сервер внешнего провайдера (на самом деле того же провайдера, который отклоняет письма…). Почтовый сервер действительно доставляет письмо, но получающий почтовый сервер (того же провайдера) отклоняет его.
Так как это почтовый сервер внешнего провайдера, у нас нет доступа к файлам логов.

Но я продолжаю переписку с их поддержкой, надеясь вскоре найти решение (на это уже ушло почти месяц…).

История продолжается… Теперь служба поддержки просит копию письма с уведомлением о недоставке в формате eml или msg. Поэтому мой уточняющий вопрос: возможно ли экспортировать входящее письмо? В разделе Электронная почта → Недоставленные я вижу запись в списке и могу просмотреть детали письма (поля заголовка, тема, тело письма и т. д.), но не вижу возможности скачать сообщение в виде файла. Не упустил ли я что-то, есть ли другой способ?

Скопируйте и вставьте исходное сообщение (заголовки и тело, всё целиком) в текстовый файл. Это то же самое.

Спасибо за информацию. Я не был уверен насчёт кодировки и прочего (например, пример исходного кода письма из моего MTA: ...m=C3=BCssten wir auch noch mal 2 gro=C3=9Fe Switche...), сработает ли это так же.
Саймон

Вы заметите в этом сообщении заголовок: Content-Transfer-Encoding: quoted-printable. Он указывает любому, кто читает сообщение, как его декодировать.

В файле .msg меньше «магии», чем вы могли подумать :slight_smile: