MAILFROM MCONTENT[ReplHeaderFile] IsInFile | S'{FIELD2}' S" From" CHAR R 0 CHAR B MessageChangeHeader
Если в ReplHeaderFile.txt
E-Mail;FromHeader; test@test.ru;"Vasia" <vasia@test2.ru>;
|
MAILFROM MCONTENT[ReplHeaderFile] IsInFile | S'{FIELD2}' S" From" CHAR R 0 CHAR B MessageChangeHeader Если в ReplHeaderFile.txt E-Mail;FromHeader; test@test.ru;"Vasia" <vasia@test2.ru>; |
Достаточно просто:
Вызывает сомнение:
Это подразумевает, что в Eserv3.ini в секции [MContent] присутствует параметр ReplHeaderFile, который ссылается на список.Если так и задумано, то тут всё верно.
Ещё вот это неверно:
Если первый символ в поле кавычка, то считается, что закавычено всё поле, поэтому разбор будет идти до следующей кавычки, и в From: подставится только Vasia. Придётся без кавычек. Или, как вариант:
MAILFROM MCONTENT[ReplHeaderFile] IsInFile | FIELD2 S@ S" From" CHAR R 0 CHAR B MessageChangeHeader
а в файле ReplHeaderFile:
E-Mail;FromHeader; test@test.ru;{}Vasia{} <vasia@test2.ru>;
в фигурных скобках по 2 одинарные кавычки, а не по одной двойной?
в Eserv3.ini в секции [MContent] присутствует параметр ReplHeaderFile, который ссылается на список....
Получили письмо с внутреннего сервера, подменили поле From (при необходимости и поле Reply-To и далее на отправку наружу. Но при передаче внешним серверам smtpsend возьмет отправителя из имени файла письма, а поскольку сейчас многие сервера почтовые проверяют существование адреса и с левым адресом почту не принимают, то письмо не уйдет.
Появляется еще и задача изменить имя файла письма, чтоб отправлялось письмо от имени существующего адреса. В каком месте и как можно подменить имя письма для отправки?
Можете в третье поле списка чистый адрес поместить.
Если пользуете PigMail, то можно использовать возможности плагина smtpsend, там предусмотрена подмена адреса отправителя.
ТЕ.
Запись принимает вид:
MAILFROM MCONTENT[ReplHeaderFile] IsInFile
[IF]
FIELD2 S@ S" From" CHAR R 0 CHAR B MessageChangeHeader
FIELD3 $MAILFROM S!
[THEN]
А в файле ReplHeaderFile.txt
E-Mail;FromHeader;NewAddress test@test.ru;"Vasia" <vasia@test2.ru>;vasia@test2.ruж
Точка с запятой последняя лишняя — намекает на существование четвёртого поля. Но работе не мешает.
Спасибо. Именно так мне и надо. Работает.