URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 51611
[ Назад ]

Исходное сообщение
"Почему не маскарадится адрес получателя в конверте (rcpt to)?"

Отправлено new2004 , 15-Дек-04 11:49 
Кто знает, почему не маскарадится адрес получателя в конверте (rcpt to)?

MASQUERADE_AS(`domain.ru')dnl
MASQUERADE_DOMAIN(`domain.ru')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_entire_domain')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`limited_masquerade')dnl

Адреса в заголовках маскарадятся, mail from тоже маскарадится, а вот
rcpt to - никак.


Содержание

Сообщения в этом обсуждении
"Почему не маскарадится адрес получателя в конверте (rcpt to)..."
Отправлено new2004 , 16-Дек-04 15:54 
                    Маскарадинг
MASQUERADE_AS(`doamin.ru')dnl  - Заменять на domain.ru
MASQUERADE_DOMAIN_FILE(`/etc/mail/masq_domain')dnl – Файл где хранится
                                            список маскируемых доменов
FEATURE(`allmasquerade')dnl –Распространить маскирование и на получателя
FEATURE(`masquerade_entire_domain')dnl –Подвергать маскарадингу
                                        не только домены, указанные в
                                        MASQUERADE_DOMAIN[_FILE], но
                                        и их поддомены
FEATURE(`masquerade_envelope')dnl - Маскировать не только
                                     адреса в заголовках, но и адреса
                                      на конвертах


FEATURE(`limited_masquerade')dnl  - Список маскируемых доменов
                                    ограничить , теми доменами, которые
                                    указаны с помощью
                                    MASQUERADE_DOMAIN[_FILE]. Без этой
                                    инструкции, маскироваться будут и
                                     домены, указанные в
                                     /etc/mail/local-host-names

Однако, почему то адрес получателя на конверте не маскарадиться. Все остальные адреса прекрасно маскарадятся. Что бы решить эту проблему, надо посмотреть как и где происходит маскарадинг. Для этого посмотрим .cf файл :
Msmtp,          P=[IPC], F=mDFMuX, S=EnvFromSMTP/HdrFromSMTP,R=EnvToSMTP/HdrFromSMTP, E=\r\n, L=9,
                T=DNS/RFC822/SMTP,
                A=TCP $h
Отсюда видно, что за маскарадинг адреса получателя на конверте отвечает
правило EnvToSMTP  . Смотрим на него:
SEnvToSMTP
R$+                     $: $>PseudoToReal $1            sender/recipient common
R$+                     $: $>MasqSMTP $1                qualify unqual'ed names
R$* < @ *LOCAL* > $*    $: $1 < @ $j . > $2

И смотрим на правило EnvFromSMTP, которое работает:
SEnvFromSMTP
R$+                     $: $>PseudoToReal $1            sender/recipient common
R$* :; <@>              $@                              list:; special case
R$*                     $: $>MasqSMTP $1                qualify unqual'ed names
R$+                     $: $>MasqEnv $1                 do masquerading

В конце правила EnvToSMTP отсутствует строка, которая, судя по всему
(в том числе и по комментариям) и запускает маскарадинг:
R$+                     $: $>MasqEnv $1                 do masquerading

Устанавливаем эту строку в конец правила EnvToSMTP и проверяем
$ /usr/lib/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
3,EnvToSMTP test@test.domain.ru

Все работает!