Назад | Перейти на главную страницу

Dovecot / postfix: пересылать все текущие сообщения

То, что я пытаюсь достичь, довольно просто, и после поиска в Google трудно поверить, что я не смог найти решение.

Я хочу переслать все ток сообщения (уже доставленные) пользователя (michael@mydomain.com) в другую внешнюю и неподконтрольную мне учетную запись (michael@hisdomain.com). Исходный сервер (наш) - это Ubuntu Server 14.04 с postfix / dovecot.

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

Основываясь на ответе Марко, я использовал для этого несколько утилит IMAP Sync, работает из windows / * nix и поддерживает SSL, http://imapsync.lamiral.info/

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

Вы также можете прикрепить сообщения и переслать их как вложения. Я не уверен, как это можно сделать с помощью сценария, но кто-то может это понять.

решение mbox

sudo apt-get install procmail

myemail=username@example.com

cat /var/spool/mail/root |
formail -k                \
        -X From:          \
        -X Subject:       \
        -X Message-Id:    \
        -X Date:          \
        -X To:            \
        -I "To: $myemail" \
        -s /usr/sbin/sendmail -t -f $myemail

Источник: повторно отправить-почту-это-локально-хранится-в-mbox-format-on-a-linux-box-на-рабочий-адрес-электронной почты

Если у вас есть IMAP-доступ к michael@hisdomains.com, вы можете рассмотреть возможность загрузки IMAP, доступную во всех почтовых клиентах. Просто настройте обе учетные записи в клиенте (например, Thunderbird, Outlook, Windows Live Mail) и перетащите сообщения из одного почтового ящика в другой. Или есть множество инструментов автоматической миграции IMAP.

Если у вас нет доступа к IMAP, вы можете использовать функцию «Переслать» - доступную в веб-почте Horde или mutt почтовый клиент командной строки - который сохранит исходного отправителя (обратите внимание на спам-фильтр получателя)

Ты можешь использовать sendmail с вашими файлами сообщений (Maildir) в качестве ввода и параметра -i не обрабатывать строку только . символ в конце ввода.

for f in *; do sendmail -i michael@hisdomain.com < $f; done

Вам нужно настроить sieve плагин для dovecot. Затем просто создайте скрипт для конкретного пользователя, содержащий следующий код:

require ["copy"];
# rule:[redirect]
if true
{
        redirect :copy "michael@hisdomain.com";
}

Все сообщения, переданные от MTA к LDA (dovecot's deliver) будет храниться в почтовом ящике, а также перенаправляться на другой MTA.