Я использую почтовый сервер exim4 на моем vps под управлением debian 8.9, проблема в том, что я могу получать электронную почту, но не могу отправлять письма, поэтому, когда я отправляю почту из Roundcube в Gmail, я получаю сообщение об ошибке
Ошибка SMTP (550): не удалось установить отправителя (доступ запрещен - недопустимое имя HELO (см. RFC2821 4.1.3)).
поэтому я проверяю шаблон exim4 и отлаживаю его и обнаружил, что $ sender_helo_name установлен на мой IP-адрес сервера. поэтому мне было интересно, как установить значение $ sender_helo_name для домена моего сайта
обновить главный журнал exim:
2017-09-28 09:33:56 H=localhost (198.50.220.183) [127.0.0.1] rejected MAIL <contactus@useotools.com>: Access denied - Invalid HELO name ( 198.50.220.183) (See RFC2821 4.1.3)
2017-09-28 09:36:23 no host name found for IP address 123.56.151.114
2017-09-28 09:36:24 no host name found for IP address 123.56.151.114
2017-09-28 09:39:01 1dxQbF-0003dy-6j <= root@useotools.com U=root P=local S=1044
2017-09-28 09:39:01 1dxQbF-0003dy-6j => root <root@useotools.com> R=localuser T=local_delivery
2017-09-28 09:39:01 1dxQbF-0003dy-6j Completed
2017-09-28 09:43:17 no IP address found for host 207-101-169-181.fibertel.com.ar (during SMTP connection from [181.169.101.207])
2017-09-28 09:43:18 no IP address found for host 207-101-169-181.fibertel.com.ar (during SMTP connection from [181.169.101.207])
2017-09-28 09:46:36 no IP address found for host ip-187.94.111-100.globalwave.com.br (during SMTP connection from [187.94.111.100])
2017-09-28 09:46:37 no IP address found for host ip-187.94.111-100.globalwave.com.br (during SMTP connection from [187.94.111.100])
2017-09-28 09:53:15 no host name found for IP address 41.191.224.5
2017-09-28 09:53:16 no host name found for IP address 41.191.224.5
2017-09-28 09:54:23 exim 4.84_2 daemon started: pid=15145, -q30m, listening for SMTP on port 25 (IPv4) port 587 (IPv4) port 2525 (IPv4) and for SMTPS on port 465 (IPv4)
Определите макрос MAIN_HARDCODE_PRIMARY_HOSTNAME и установите для него желаемое имя. Обычно это будет что-то вроде mail.example.com или smtp.example.com. Если вы используете раздельную конфигурацию, используйте файл в /etc/exim4/conf.d/main
. В противном случае используйте /etc/exim4/exim4.conf.localmacros
.
Ошибка 550 отправляется принимающим сервером, чтобы указать, что ваше имя HELO недействительно. Оно должно быть установлено на то же значение, что и запись PTR для IP-адреса вашего сервера. Чтобы установить запись PTR, вам потребуется статический IP-адрес и сотрудничество с вашим провайдером. Вам также понадобится соответствующая запись A для имени вашего почтового сервера. Это позволит проверить имя с помощью rDNS. Ваша запись MX должна указывать на это имя.
Также обратите внимание на настройку записи SPF для вашего почтового сервера и вашего домена.
Использование сервера ретрансляции вашего VPS-провайдера может быть более простым решением. Использовать smarthost
конфигурация с локальной почтой. Настройте сервер ретрансляции как сервер smarthost. Измените запись SPF, чтобы указать, что сервер ретрансляции может отправлять почту для вашего домена.