The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Настройка EXIM для домена + поддомена"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта)
Изначальное сообщение [ Отслеживать ]

"Настройка EXIM для домена + поддомена"  +/
Сообщение от Rayled (ok), 05-Апр-22, 14:49 
Добрый день. Помогите, пожалуйста, настроить 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}{}}}{}}

Но конечно это не то, что нужно...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Настройка EXIM для домена + поддомена"  +/
Сообщение от izyk (ok), 11-Апр-22, 22:13 
> А в /etc/exim/exim.conf в блоке remote_smtp:

remote_smtp1:
...
interface = IP1
...

remote_smtp2:
...
interface = IP2
...

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру