Настройте Exim для отправки к внутренним и внешним адресам

Я наследовал веб-сайт, это, по-видимому, использует Exim в качестве его MTA. Скажем, то, что мы можем получить доступ к сайту в:

http://example.com/

Пользователи, которые работают в Example Corp., заметили, что они не получили электронное письмо, когда веб-приложение PHP попыталось отправить почту в адреса как:

jane.doe@example.com support@example.com и т.д.

Вопрос

Записи SPF, кажется, работают лучше всего, когда сервер отправляет почту от имени хоста example.com. Однако мы не можем послать никому по электронной почте по example.com, когда у нас есть это как имя хоста.

Я изменил имя хоста на сервере, но теперь это не работает с существующими записями SPF (детали ниже).

Я думаю, что мне нужен совет относительно конфигурирования или имя хоста или Exim.

Фон

Электронное письмо, посланное внешним адресам в Gmail, Yahoo, Mailinator, и т.д. прошло очень хорошо. Я использую Mailinator для тестирования электронных писем, потому что можно послать любой адрес по электронной почте, не имея необходимость создавать полный отчет. Я запустил тесты с помощью синтаксиса как это.

Этот тест успешно выполнился бы.

echo "This is message body." | mail -s "SMTP Test 1" -r "from_address@example.com" to_address@mailinator.com

Этот тест перестал бы работать.

echo "This is message body." | mail -s "SMTP Test 1" -r "from_address@example.com" to_address@example.com

Некоторые простые тесты маршрутизации могут быть сделаны при помощи опции тестирования адреса. Этот тест успешно выполнился бы.

exim -bt to_address@mailinator.com
to_address@mailinator.com
  router = dnslookup, transport = remote_smtp
  host mail.mailinator.com [2600:3c03::f03c:91ff:fe50:caa7] MX=10
  host mail.mailinator.com [23.239.11.30]                   MX=10

Этот тест перестал бы работать.

exim -bt support@example.com
support@example.com is undeliverable

Это сообщение было полезно и указало на меня в направлении установки имени хоста. http://jblevins.org/log/hostname

Я понял, что общедоступный DNS имел запись под названием "store.example.com", который указал на корректный IP-адрес. Я ввел это как имя хоста.

имя хоста sudo store.example.com

Удостоверьтесь, что store.example.com в сетевом файле. Это должно гарантировать палки имени хоста после перезагрузки.

sudo nano /etc/sysconfig/network

sudo service exim restart

Проблема состоит в том, что теперь Google жалуется на отсутствие записи SPF.

Полученный SPF: ни один (google.com: user@store.example.com не определяет разрешенные хосты отправителя), client-ip=xxx.xxx.xxx.xxx;

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

Полученный SPF: передача (google.com: домен user@example.com определяет xxx.xxx.xxx.xxx как разрешенного отправителя), client-ip=xxx.xxx.xxx.xxx;

Серверная среда

Выпуск 6.6 CentOS

ls /etc/alternatives/ -l | grep mta

lrwxrwxrwx. 1 root root 23 Feb 23 09:28 mta -> /usr/sbin/sendmail.exim
lrwxrwxrwx. 1 root root 19 Feb 23 09:28 mta-mailq -> /usr/bin/mailq.exim
lrwxrwxrwx. 1 root root 29 Feb 23 09:28 mta-mailqman -> /usr/share/man/man8/exim.8.gz
lrwxrwxrwx. 1 root root 24 Feb 23 09:28 mta-newaliases -> /usr/bin/newaliases.exim
lrwxrwxrwx. 1 root root 15 Feb 23 09:28 mta-pam -> /etc/pam.d/exim
lrwxrwxrwx. 1 root root 19 Feb 23 09:28 mta-rmail -> /usr/bin/rmail.exim
lrwxrwxrwx. 1 root root 19 Feb 23 09:28 mta-rsmtp -> /usr/bin/rsmtp.exim
lrwxrwxrwx. 1 root root 18 Feb 23 09:28 mta-runq -> /usr/bin/runq.exim
lrwxrwxrwx. 1 root root 22 Feb 23 09:28 mta-sendmail -> /usr/lib/sendmail.exim

exim -bV
Exim version 4.72 #1 built 10-Oct-2014 09:23:33
Copyright (c) University of Cambridge, 1995 - 2007
Berkeley DB: Berkeley DB 4.7.25: (September  9, 2013)
Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc TCPwrappers OpenSSL Content_Scanning DKIM Old_Demime
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm nis nis0 nisplus passwd sqlite
Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
OpenSSL compile-time version: OpenSSL 1.0.1e-fips 11 Feb 2013
OpenSSL runtime version: OpenSSL 1.0.1e-fips 11 Feb 2013
Configuration file is /etc/exim/exim.conf
0
задан 19 March 2015 в 16:16
2 ответа

Я предполагаю, что почта для example.com должна быть перенаправлена ​​на «настоящий» почтовый сервер для этого домена, или, возможно, вся почта должна быть перенаправлена ​​на «умный хост».

Я не знаю, как сконфигурирован пакет exim по умолчанию для Centos (если он есть) ... Вы должны сделать конфигурацию доступной где-нибудь, чтобы я мог точно сказать, что нужно изменить. В основном:

  • убедитесь, что example.com не указан в local_domains (проверьте маршрутизатор dnslookup или хотя бы один из первых маршрутизаторов в конфигурации (маршрутизаторы обрабатываются по порядку, первый найдет совпадение) ).

  • Найдите smarthost , чтобы увидеть, есть ли для этого конфигурация; вам нужно каким-то образом указать реальный адрес почтового сервера.

  • Вы также можете указать это как первый маршрутизатор:

    smarthost: драйвер = manualroute домены = * транспорт = remote_smtp route_data = real.mailserver.example.com

См. exim.org для описания файла конфигурации по умолчанию.

1
ответ дан 4 December 2019 в 17:00

Способ разработки SPF требует, чтобы вы добавили еще одну запись SPF :

Домены и хосты идентифицируют машины, которым разрешено отправлять электронную почту от их имени. Они делают это, добавляя дополнительные записи к существующей информации DNS: каждое доменное имя или хост, имеющий запись A или MX, должен иметь запись SPF, определяющую политику, если она используется либо в адресе электронной почты, либо в качестве аргумента HELO / EHLO.

В нем говорится, что «каждое имя домена или хост ... используется либо в адресе электронной почты, либо в качестве аргумента HELO / EHLO». Поскольку вы изменили адрес электронной почты, с которого отправляете отправку, с (скрытый) на (скрытый), вам необходимо добавить соответствующую запись SPF для store.example.com.

0
ответ дан 4 December 2019 в 17:00

Теги

Похожие вопросы