Настройка EXIM для домена + поддомена

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Rayled
проходил мимо
Сообщения: 1
Зарегистрирован: 2022-04-05 14:21:25

Настройка EXIM для домена + поддомена

Непрочитанное сообщение Rayled » 2022-04-05 14:27:07

Добрый день. Помогите, пожалуйста, настроить exim.
Имеется VDS-сервер с CentOS 7. На нём:
1. Домен domain.ru, IP-адрес IP1, значение PTR: domain.ru
На нём работает сайт с CMS, включая все PHP-скрипты отправки писем
Часть скриптов отправляет письма с ящиков вида *@domain.ru (регистрация, восстановление пароля и т.д.)
Часть отправляет письма с ящиков вида: *@subdomain.domain.ru (рассылка разных типов по пользователям)

2. Поддомен subdomain.domain.ru, IP-адрес IP2, значение PTR: subdomain.domain.ru
Пустой поддомен, имеется только стартовая страница HTML, создавался, чтобы от его имени проводить рассылку сайта, как рекомендуют почтовые сервисы яндекс, мэйл и т.д.

Оба домена имеют каждый свой DKIM, DMARC, SPF.

При отправке из CMS писем с ящиков вида *@domain.ru всё в порядке:
- IP = IP1
- HELO = domain.ru
- Message-ID: id@domain.ru
- From: *@domain.ru
- и т.д.

При отправке из CMS писем с ящиков вида *@subdomain.domain.ru проблемы:
- IP = IP1, а нужно IP2
- HELO = domain.ru, а нужно subdomain.domain.ru
- Message-ID: id@domain.ru а нужно id@subdomain.domain.ru
- From: *@subdomain.domain.ru, тут всё в порядке

Хотелось бы, чтобы при отправке писем с *@subdomain.domain.ru в заголовках были IP2, HELO=subdomain.domain.ru, Message-ID: id@subdomain.domain.ru

Я создал файл /etc/exim/interfaces, куда вписал:
domain.ru: IP1
subdomain.domain.ru: IP2

А в /etc/exim/exim.conf в блоке remote_smtp: указал:

Код: Выделить всё

helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}}
interface = ${if exists {/etc/exim/interfaces}{${lookup{$sender_address_domain}lsearch{/etc/exim/interfaces}{$value}{}}}{}}
Но это не помогло. Если правильно понимаю, то так как отправка идёт из CMS с сайта domain.ru, то exim'ом берётся IP1 и $sender_address_domain = domain.ru, хотя в письме отправителем и указывается *@subdomain.domain.ru

Я пробовал указывать так

Код: Выделить всё

helo_data = ${domain}
interface = ${if exists {/etc/exim/interfaces}{${lookup{${domain}}lsearch{/etc/exim/interfaces}{$value}{}}}{}}
и так
helo_data = $original_domain
interface = ${if exists {/etc/exim/interfaces}{${lookup{$original_domain}lsearch{/etc/exim/interfaces}{$value}{}}}{}}
Но это не сработало, и в нужных местах стал прописываться домен почтового сервиса получателя например: Message-ID: id@mail.ru, HELO=mail.ru, а IP1 остался неизменным. Я так понимаю это потому, что те параметры относятся к локальным.

Единственный вариант, который сработал для поддомена, это когда я вручную добавил его имя:

Код: Выделить всё

helo_data = subdomain.$sender_address_domain
interface = ${if exists {/etc/exim/interfaces}{${lookup{subdomain.$sender_address_domain}lsearch{/etc/exim/interfaces}{$value}{}}}{}}
Но конечно это не то, что нужно...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

merlin3334
проходил мимо
Сообщения: 4
Зарегистрирован: 2023-01-18 9:01:18

Настройка EXIM для домена + поддомена

Непрочитанное сообщение merlin3334 » 2023-01-20 14:27:24

Rayled писал(а):
2022-04-05 14:27:07
if exists {/etc/exim/interfaces}
ИМХО лишнее усложнение, вы таки себе не доверяете:)?

Вот хорошая ссыль, вроде поясняет работу lsearch

p.s. Тыща извинений, походу занекропостил