Наша компания только что перешла на новый почтовый домен и хочет сохранить старый домен в течение года, так как они уведомляют всех об изменении. Старый домен электронной почты был в Exchange 2007, а новый домен электронной почты - в Google Apps. Все используют Google Apps на 100%, а сервер Exchange просто пересылает электронные письма.
Я хотел бы заменить сервер Exchange (он недостаточно мощный и тратит ресурсы на пересылку писем) чем-то легким, основанным на Postfix или другом почтовом сервере. Для этого нужно сделать следующее:
Возможно ли это с Postfix, и есть ли у кого-нибудь документация, как это сделать? Я знаю Linux достаточно, чтобы быть опасным, поэтому я хочу убедиться, прежде чем предлагать это.
Я полагаю, вы хотите подделать сообщение об отказе в старом домене. Я использую Exim, и это средство управления.
Вам также понадобится четкое сообщение о недоставке, которое указывает, что электронное письмо было принято для доставки, но в будущем сообщения следует отправлять на новый адрес.
Exim также позволяет настраивать сообщения о недоставке в файле псевдонимов. Это можно использовать для указания нового адреса.
Postfix или exchange могут иметь аналогичную функциональность.
EDIT: документация Exim неплохая. См. Главу 40 спецификации (Списки контроля доступа) и главу 11 (Расширения строк) для получения подробной информации о вашей проблеме.
Вы можете попробовать ввести запись в ACL получателя примерно так:
warn
domains = old.example.com
control == fakereject/User ${local_part}@old.example.com has moved \
${local_part}@new.example.net\n\
Your message has been forwarded to their new address.
Перенаправление на ваш новый сервер может быть выполнено с помощью индивидуальных псевдонимов, маршрутизатора перенаправления (см. Главу 22, раздел 3) или правила перезаписи (см. Главу 31 Переопределение адреса), например:
*@old.example.com $1@new.example.net T
Я бы сделал это с Postfix и Cyrus-Imapd. Postfix просто пересылает все в cyrus-imapd, а затем вы можете использовать фильтр Sieve, чтобы:
Я думаю, вы могли бы сделать это так:
if header :contains "to" "user@old_domain.com" {
redirect "user@new_domain.com";
reject "old_domain.com is not used anymore, please send your emails to new_domain.com";
}
Сложность заключается в том, что правила Sieve определены для каждого пользователя, поэтому вам нужно создать набор правил для каждого из ваших пользователей. Но вы можете легко написать сценарий.
Более подробную информацию о Сите в Cyrus-Imapd можно найти здесь: http://wiki.linuxwall.info/doku.php/en:ressources:astuces:sieve
Вы можете использовать procmail и postfix.
Я не уверен, возможно ли это с Google Apps, но то, что я сделал бы с "обычным" почтовым сервером, - это позволить ему обрабатывать почту и для старого домена, указывая MX для старого домена на новый сервер и затем настройте MTA соответствующим образом.
Postfix может сделать это легко (мы сделали что-то подобное в postfix около 7 лет назад, поэтому у меня больше нет доступа к очень простому фильтру, который мы написали).
Я бы рекомендовал использовать автоответчик (см. http://www.postfix.org/addon.html для нескольких примеров), чтобы сгенерировать автоответ, чтобы вы могли избежать всех ошибок в генераторе автоответа.
Затем простой фильтр (см. http://www.postfix.org/SMTPD_PROXY_README.html о том, как можно реализовать фильтр до очереди для изменения места назначения) для автоматической пересылки.