Страница 1 из 1
exim: динамическое изменение домена в заголовках письма
Добавлено: 2010-02-22 11:32:28
storm
Debian lenny + exim 4.69-9
На сервере вертятся несколько доменов.
Почтовый домен привязан к одному из доменов. Назовем его основным.
Когда пользователь проходит регистрацию на одном из сайтов, то на свой почтовый ящик получает стандартное письмо с подтверждением регистрации. Однако в заголовках письма светится не тот домен на котором он проходил регистрацию, а основной:
Пример некоторых заголовков:
Код: Выделить всё
Return-Path: <www-data@основной_домен>
Received: from основной_домен ( основной_домен [IP])
by mx.google.com with ESMTP id 3si22101645yxe.27.2010.02.22.00.08.19;
Каким образом сделать динамическую подстановку того домена на котором пользователь проходит регистрацию?
Re: exim: динамическое изменение домена в заголовках письма
Добавлено: 2010-02-22 15:08:44
Alex Keda
вариантов масса.
проще всего при регистрации впихнуть имя нужного домена в какой-то заголовок типа
и на его основе переписать отправителя
Re: exim: динамическое изменение домена в заголовках письма
Добавлено: 2010-02-22 16:57:46
storm
Можно подробнее? Или, если вас не затруднит, дайте ссылку где можно почитать на эту тему.
Re: exim: динамическое изменение домена в заголовках письма
Добавлено: 2010-02-27 19:53:19
dudedude
Код: Выделить всё
remote_smtp:
driver = smtp
interface = ${if exists {/etc/exim4/mail_ips}{${lookup{$sender_address_domain}lsearch{/etc/exim4/mail_ips}{$value}{}}}{}}
helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}}
etc/exim4/mail_ips
У меня вот так все работает
Re: exim: динамическое изменение домена в заголовках письма
Добавлено: 2010-03-01 11:01:15
storm
dudedude писал(а):
У меня вот так все работает
Сделал
Код: Выделить всё
remote_smtp:
driver = smtp
interface = ${if exists {/etc/exim4/mail_ips}{${lookup{$sender_address_domain}lsearch{/etc/exim4/mail_ips}{$value}{}}}{}}
helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}}
В файле /etc/exim4/mail_ips
ip - для всех доменов один и тот же.
И письма во внешний мир перестали уходить. В логах
Код: Выделить всё
2010-03-01 09:41:46 [18414] 1Nm0D7-0004mw-OV gmail-smtp-in.l.google.com [209.85.220.50]:25 Connection timed out
2010-03-01 09:44:55 [18414] 1Nm0D7-0004mw-OV alt1.gmail-smtp-in.l.google.com [209.85.135.27]:25 Connection timed out
2010-03-01 09:48:04 [18414] 1Nm0D7-0004mw-OV alt2.gmail-smtp-in.l.google.com [209.85.222.65]:25 Connection timed out
Привел конфиг к изначальному виду и почта на отправку сразу же заработала
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 10:31:18
gyurza2000
И снова здравствуйте, хотел бы оживить тему.
Вобщем проблема та же - несколько доменов на одном IP. Соответственно, хотелось бы, что бы почтовик в HELO подставлял тот домен, с которого собственно и отправляется письмо, а не то что в primary_hostname.
Понял, что использовать надо
helo_data = , а вот с синтаксисом что то не получилось.
Написал
и письма перестали уходить - заморозились. Закомментил строку, письма ушли
Как правильно данную задачу реализовать?
Отправлено спустя 26 минут 2 секунды:
Или для этого нужно использовать
smtp_active_hostname ?
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 12:42:01
xM
Вообще лучше чтобы имя в HELO соответствовало имени хоста, с которого идёт отправка. Соответственно IP его должен разрешаться в то же имя хоста. Иначе многие серверы, и, в частности, мои, будут более пессимистически относиться к такому отправителю.
Теоретически вы можете дать одному IP множество имён в разных доменных зонах, но вопрос с реверсной зоной это не решит - PTR рекомендуется делать только для соответствия одному имени хоста.
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 13:05:46
gyurza2000
C PTR понятно, его не трогаем там прописано одно имя домена. Но, доменов то несколько на одном IP
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 13:15:38
xM
gyurza2000 писал(а): C PTR понятно, его не трогаем там прописано одно имя домена. Но, доменов то несколько на одном IP
Я выше уже написал как должно быть с тем, чтобы избежать возможных проблем с доставкой.
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 13:32:55
gyurza2000
Вы со мной сейчас общаетесь как с администратором, коим я не являюсь. Я агрохимик. Всё что я спрашиваю, не относится к моей профессиональной деятельности. Соответственно, я не всё понимаю, что Вы советуете. Мне нужны конкретные примеры, что бы я видел, как это реализуется в конфиге EXIM, если не затруднит.
Если на пальцах, то как сделать что бы при отправке с
mail@domen1.ru в HELO писалось helo=[domen1.ru], а при отправке с
mail@domen2.ru в HELO писалось helo=[domen2.ru]. При условии что IP у доменов один.
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 13:37:22
xM
А я вам написал, что поскольку PТR прописывать рекомендуется только для одного имени хоста при желательности соответствия имени хоста его HELO то, чего вы хотите, превращается в не слишком надёжно работающую схему.
Так понятнее?
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 14:17:05
gyurza2000
Ответ понятен, но реализация этой "не слишком надёжно работающей схемы" не понятна.
Неужели у меня у одного настолько нетривиальная задача - 2 домена с почтой на одном IP ?
Разве helo_data и smtp_active_hostname не позволяют этого сделать?Или данные директивы только для нескольких доменов с уникальными IP?
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 14:19:24
xM
Задача тривиальная. Непонятно зачем при этом менять HELO и hostname.
Или данные директивы только для нескольких доменов с уникальными IP?
Данные директивы для чего угодно. Вопрос в том, как это будет работать.
Посмотрите внимательно на пример к
helo_data в
документации Exim.
Там хорошо иллюстрируется тот подход, который я описал выше.
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 14:45:12
gyurza2000
Вот ещё вопрос...при отправке почты с WEB морды в HELO пишется хост, а при отправке через mail клиент в HELO пишется лишь IP
exim: динамическое изменение домена в заголовках письма
Добавлено: 2016-11-25 14:59:42
xM
gyurza2000 писал(а): при отправке почты с WEB морды в HELO пишется хост, а при отправке через mail клиент в HELO пишется лишь IP
Этот HELO - клиентский. Сервер будет использовать свой согласно конфигурации. На отправку на удалённый сервер это влиять не должно.
В крайнем случае можете удалить свой локальный заголовок Recieved при обработке письма в Exim.