2015-07-13 4 views
0

Я получаю письма от субподрядчика. Мне нужно автоматически повторно отправить содержимое этих писем в список рассылки с моего электронного адреса электронной почты. В настоящее время мы используем Outlook Exchange в качестве нашего основного почтового сервера, но я желаю (фактически предпочитаю) использовать Linux для синтаксического анализа/перенаправления. Я не слишком беспокоюсь о чистке заголовков, просто обновляя поля FROM/SENDER и TO/RECIPIENT. Могут также быть прикрепления, которые необходимо переносить.Автоматически перенаправлять электронную почту с новыми полями FROM/TO

Я видел аналогичное сообщение here о SuperUser, которое ссылается на «procmail» в одном из ответов, но неопределенно.

Мой лучший подход до сих пор состоял в том, чтобы настроить почтовый клиент на Linux, чтобы привлечь трафик Outlook, затем проанализировать с помощью procmail и повторно отправить. Кто-нибудь видел примеры этого? Идея лучше?

Спасибо.

ответ

1

Это не так, как работает Procmail. Procmail - автономный агент, который обычно запускается на вашем почтовом сервере и обрабатывает каждое входящее сообщение по мере его поступления.

Функции пересылки, которые вы запрашиваете, не являются частью Procmail, но дистрибутив Procmail поставляется с утилитой formail, которая может переписывать заголовки для вас.

Учитывая сообщение на стандартный ввод, он может заменить «From:» и «To:» заголовки с новыми значениями, как это:

formail -I"From: Important Account <[email protected]>" \ 
-I"To: Little Peon <[email protected]>" -ICc: 

(Пустое -ICc: убеждается в зап любой Cc: заголовок, если есть. Вы также можете захотеть заполнить старые заголовки Received:.)

Выходной сигнал затем может быть подключен к трубопроводу, например sendmail -oi -t, чтобы отправить его обратно в почтовый поток.

Конечно, это также легко ввести в рецепт Procmail, если вы хотите, чтобы это произошло автоматически при поступлении электронной почты. Это действительно работает обработка мельницы Procmail, поэтому вы можете найти множество примеров, в том числе в руководстве Procmail. Но вот длинный и короткий;

:0c 
* regex which matches the messages you want to forward 
| formail -I"From: [email protected]" -I"To: [email protected]" -ICc: \ 
    | $SENDMAIL $SENDMAILFLAGS -t 

Снимите c флаг, если вы не хотите, чтобы получить оригинал в вашем почтовом ящике. Удалите условие, если вы хотите безошибочно пересылать всю почту.

+0

Спасибо, tripleee. Я не администратор, поэтому часть, которую мне не хватает, - это взаимодействие между сервером обмена и почтовым сервером Linux. Как они интегрируются? Или они должны быть независимыми? – bejota

+0

Без дополнительной информации о вашей топологии электронной почты нет простого способа ответить на этот вопрос. Если вы получаете эти сообщения на своем Linux-сервере, все, что вам нужно, это '.procmailrc' в вашем домашнем каталоге. Если нет, возможно, вам нужно объяснить взаимосвязь между двумя почтовыми серверами, возможно, в отдельном вопросе, возможно, на другом сайте (https://superuser.com/ или https://serverfault.com/ в зависимости от того, нужно ли вам общая помощь или, в частности, поддержка сетевого сервера). – tripleee

+0

Если у вас есть доступ к IMAP в ваш почтовый ящик Exchange, возможно, забудьте про Procmail и сделайте это с помощью простого пользовательского IMAP-клиента. Если вы настаиваете на Procmail, я укажу на https://github.com/tripleee/procimap, но это, вероятно, слишком много для этой простой проблемы, особенно если вы новичок в Procmail. – tripleee