Настройка Exim для пересылки почты

10

Я пытаюсь настроить exim на новую установку CentOS, чтобы он получал почту для набора заданных адресов и пересылал почту соответственно на другой адрес. Например, получение почты от me@example.com будет перенаправлено на me@gmail.com.

Я полагаю, что это должно быть довольно просто ... У меня было это раньше с Sendmail, используя virtusertable- могу ли я сделать что-то подобное с Exim?

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

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

Спасибо.

Джо Фриман
источник

Ответы:

7

Вам нужно будет использовать маршрутизатор перенаправления. Прочитайте спецификацию Exim Router, так как он может делать много вещей и, следовательно, может быть довольно сложным.

По сути, вам нужно настроить что-то вроде этого (не проверено)


sender_redirect:
  driver = redirect
  data = ${lookup{$sender_address}lsearch{/etc/exim4/sender_redirects}}

Затем создайте файл /etc/exim4/sender_redirects, содержащий перенаправления в формате разделенных двоеточиями строк, например:


me@example.com: me@gmail.com
Гэвин Мактаггарт
источник
1
Спасибо Гэвин, это определенно направило меня в правильном направлении. Я использую эти строки: driver = redirect domains = dsearch; / etc / exim / virtual data = $ {lookup {$ local_part} lsearch {/ etc / exim / virtual / $ domain}}, где «virtual» - это каталог, содержащий файл 'example.com' и строки вида: 'me: me@gmail.com'. Я также должен был установить мои local_domains для включения example.com (трюк с dsearch, использованный выше, можно использовать и здесь).
Джо Фриман
5

Вариант того, что сказал Джо Фриман, без использования dsearch (что дало мне неизвестную ошибку типа поиска «dsearch»):

В начале exim.conf:

#Replace:
domainlist local_domains = lsearch;/etc/virtual/domains
#With:
domainlist local_domains = lsearch;/etc/virtual/domains : lsearch;/etc/virtual/forwarding_domains

В разделе «Начало роутеров» добавьте:

sender_redirect:
    driver = redirect
    domains = lsearch;/etc/virtual/forwarding_domains
    data = ${lookup{$local_part}lsearch{/etc/virtual/forwarding/$domain}}

В lsearch; / etc / virtual / forwarding_domains добавьте свои домены по одному на строку:

example.com

И создайте /etc/virtual/forwarding/example.com, связавшись с:

me: me@gmail.com
Marius
источник
3

Exim4 также поддерживает .forwardфайлы в старом стиле , а также .forwardфайлы в стиле Exim , которые начинаются с # Exim filter. например, чтобы использовать последний для пересылки в мою резервную учетную запись, сохраняя оригинал в моей спуле для доступа по протоколу POP3:

# Exim filter  <== do not edit or remove this line!

unseen deliver jcomeau_ictx@example.com

Гораздо проще и менее опасно, чем карабкаться по корню в недрах конфигурации exim, IMO. Полная информация об этом здесь .

jcomeau_ictx
источник