|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Dmitry Kondratyev 2:5020/758.60 28 Oct 2003 20:31:34 To : All Subject : sendmail rules -------------------------------------------------------------------------------- Появилась задача принудительно пересылать всю почту, посланную с адреса mail@from, на адрес mail@to. Штатных средств в сендмейле для этого нет, как я понял, так что пришлось потратить полдня на чтение документации. Вот что родилось: LOCAL_CONFIG Kstorage1 macro Kstorage2 macro LOCAL_RULE_1 Rmail@from $: $( storage1 {FROMFLG} $@ READDR $) mail@from LOCAL_RULE_2 R$* $: $( storage2 {TOADDR} $@ $1 $) $1 R$* $: < $&{FROMFLG} > R$* $: $(storage1 {FROMFLG} $) $1 R<READDR> $@ mail@to R$* $: $&{TOADDR} Hа тестовых прогонах вроде работает, но хочется услышать мнение общественности, насколько это вообще корректно, не возникнет ли каких-либо проблем и вообще, может быть есть более красивый метод решения этой проблемы? Hе нравится мне, что приходится сохранять адрес получателя, уродовать его и потом снова восстанавливать. Всегда ли удалённый МТА выдаёт корректный mail from при хендшейке? Ведь если нет, то вся эта конструкция может и не сработать. Хотя, можно пробовать до кучи ещё и заголовки анализировать, но это уже не совсем корректно будет, по-моему. Заранее спасибо за ответы. P.S. Вот, в процессе написания подумалось, что наверно было бы неплохо обнулять TOADDR в конце второго правила. С другой стороны, вроде и без того работает. :-) Dmitry --- * Origin: *** fortress *** (2:5020/758.60) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/39733f9e9df8.html, оценка из 5, голосов 10
|