То, что я пытаюсь достичь, довольно просто, и после поиска в 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
Если у вас есть 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.