Общий доступ к почтовому домену (iRedMail с Postfix и Gmail)

Общий доступ к почтовому домену (iRedMail с Postfix и Gmail)

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

Я установил iRedMail 1.6.0 и настроил Gmail на отправку всех неразрешенных пользователей @example.com на локальный сервер. Это работало, когда отправителем был не @example.com... если это был отправитель, почта отклонялась из-за неаутентифицированного соединения. Добавление всех подсетей gmail в mynetworks (как в main.cf, так и в settings.py) решило эту проблему (есть ли лучшее решение?).

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

Мне пришлось создать виртуальную карту почтовых ящиков со списком удаленных почтовых ящиков (ужасное решение), чтобы обойти команду "rcpt to:". Но через некоторое время я все равно получил отчет о невозможности доставки:

Действие: не удалось Статус: 5.1.1 Диагностический код: x-unix; пользователь неизвестен

После некоторых мучений я обнаружил, что добавление транспортной карты с примерно такими же данными, как у карты виртуальных почтовых ящиков (в транспортной карте у меня также есть локальное транспортное правило) решило проблему, и почта стала передаваться правильно.

Теперь использование 2 разных списков адресов для одной и той же работы еще ужаснее. Я ищу более элегантное решение, например, «пересылать любые неразрешенные письма @example.com на ...», как у меня в Gmail. Есть какие-нибудь предложения?

Спасибо, Дарио.

решение1

Если вы настроили домен какместныйдомен на месте (невиртуальный), вы можете попробовать использоватьfallback_transportили fallback_transport_maps. Настройте это так (в main.cf):

fallback_transport = smtp:gmail.com

(он выполнит поиск MX для gmail.com и использует результат этого поиска; я предполагаю, что списки MX-серверов для вашего домена, размещенного на Gmail, и для адресов gmail.com одинаковы). Рассмотрите возможность прочтениячеловек 5 транспортесли вы хотите подробнее изучить формат правой части этого.

Ваша идея «отправлять все неразрешенные в Gmail» на стороне помещения и «все неразрешенные в помещение» на стороне Gmail очень плоха. Если какое-то сообщение не будет разрешено на обеих сторонах, оно будет бесконечно пинг-понгом, и в конечном итоге ваш сервер будет забанен на Gmail. Чтобы избежать этого, вам нужно вести два списка: на Gmail вам нужно знать точный список почтовых адресов, которые находятся на территории, и на территории вам нужно знать точный список почтовых адресов, которые находятся на Gmail. Используйте fallback_transport_mapsтаким образом, чтобы для известных удаленных почтовых ящиков он возвращал то же самое, что я предлагал ранее, а неизвестные не возвращали ничего, заставляя Postfix отклонять почту заранее. Вы всегда должны отклонять как можно раньше, это Хорошая Вещь электронной почты. И лучше, чтобы Gmail пересылал только ту почту, которая у вас действительно есть на территории, по той же причине. Не жалуйтесь, это цена за такую ​​настройку.

Если у тебя естьвиртуальныйнастройка, вы можете попробовать использовать transport_mapsдля этой цели, но это следует делать с большой осторожностью. Не создавайте открытое реле.

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

Связанный контент