Для копирования почты использую Sendmail и вот такой скрипт находящийся в файле copymail.m4 . Объясните, пожалуйста, что тут нужно поправить, чтобы копировалась только исходящая почта? Не могу разобраться в том как написаны правила. Заранее всем спасибо.PUSHDIVERT(-1)
ifdef(`COPYMAIL_MAILBOX',,`define(`COPYMAIL_MAILBOX',`test@test.ru')')dnl
POPDIVERT#########################################
### COPYMAIL Mailer specification ###
#########################################VERSIONID(`$Id: cpsendmail.html,v 1.2 2002/06/14 18:39:10 freeman Exp $')dnl
LOCAL_CONFIG
D{COPYMAIL}COPYMAIL
C{CP}${COPYMAIL}LOCAL_RULE_0
# Send all mail to copymail mailer
R$* < @ $+ . $~{CP} . > $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
# if mail has been processed by copymail mailer, process it usual way...
R$* < @ $* . ${COPYMAIL} > $1 < @ $2 . ># Send message to original recipient + additional mailbox: COPYMAIL_MAILBOX
Mcopymail, P=/usr/sbin/sendmail, F=fmSDFMu, S=0, R=0, A=sendmail -N never COPYMAIL_MAILBOX.${COPYMAIL} $u
Не парься с этим, а используй синоним.
http://dv8.ro/Synonym/synonym.html
А вообще, вот измененная версия м4 файла с комментами.PUSHDIVERT(-1)
ifdef(`COPYMAIL_MAILBOX',,
`define(`COPYMAIL_MAILBOX', `postmaster')')dnlifdef(`COPY_USERS',,
`define(`COPY_USERS', `-o /etc/mail/copy-users')')dnlifdef(`NOCOPY_CONFIG',,
`errprint(`*** You must define NOCOPY_CONFIG for copymail mailer!!! ***')')dnlPOPDIVERT
#########################################
### COPYMAIL Mailer specification ###
#########################################VERSIONID(`$Id: cpsendmail.html,v 1.2 2002/06/14 18:39:10 freeman Exp $')dnl
LOCAL_CONFIG
F{COPY}COPY_USERSLOCAL_RULE_0
# Send mail $={COPY} to copymail mailer#To: E-mail check
R$+ < @ $+ . > $* $: $1 < @ $2 . > $3 $| $1 @ $2
R$+ < @ $+ . > $* $| $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#To: Domain check
R$+ < @ $+ . > $* $| $+ @ $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#From: All originating from some ip are copying
R$* < @ $+ . > $* $| $* $: $1 <@ $2 . > $3 $| $&{client_addr}
R$* < @ $+ . > $* $| $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#From: E-mail check
R$* < @ $+ . > $* $| $* $: $1 <@ $2 . > $3 $| $&f
R$* < @ $+ . > $* $| <$*> $: $1 <@ $2 . > $3 $| $4
R$* < @ $+ . > $* $| $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#From: Domain check
R$* < @ $+ . > $* $| $+ @ $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#The rest are welcome without copying
R$* < @ $+ . > $* $| $* $: $1 <@ $2 . > $3# Send message to original recipient + additional mailbox: COPYMAIL_MAILBOX
Mcopymail, P=/usr/sbin/sendmail, F=fmSDFMu, S=0, R=0,
A=sendmail -N never -C NOCOPY_CONFIG COPYMAIL_MAILBOX $u
>[оверквотинг удален]
>R$* < @ $+ . > $* $| $* $: $1 <@ $2 . > $3
>
>
>
>
>
># Send message to original recipient + additional mailbox: COPYMAIL_MAILBOX
>Mcopymail, P=/usr/sbin/sendmail, F=fmSDFMu, S=0, R=0,
> A=sendmail -N never -C
>NOCOPY_CONFIG COPYMAIL_MAILBOX $uРасскажите как вы пишете правида. Я хочу понять, что там написано. Подскажите где почитать.
Этот конфиг переписал не я, а Medlar вот в этой теме http://www.opennet.me/openforum/vsluhforumID1/79758.htmlСам я уже давно перешел с сендмыла на эксим чего и вам советую.
а вы где взяли эти правила?на первый взгляд здесь использован вариант копирования почты если домен не указан в
строке C{CP}
причем как домен входящий так и исходящийвам ведь только исходящую нужно копировать причем всю?
тот пример что вам привели - отсюда http://www.opennet.me/openforum/vsluhforumID1/79758.html
там и описаны условия задачи и они совсем не ваши
про почитать про синатаксис - здесь - http://www.anrb.ru/linux/intro.html
>[оверквотинг удален]
>причем как домен входящий так и исходящий
>
>вам ведь только исходящую нужно копировать причем всю?
>
>тот пример что вам привели - отсюда http://www.opennet.me/openforum/vsluhforumID1/79758.html
>
>там и описаны условия задачи и они совсем не ваши
>
>
>про почитать про синатаксис - здесь - http://www.anrb.ru/linux/intro.htmlВы совершенно правы, при использование приведённого мною примера копируется вся почта (вх/исх). Вот хочу понять, как подправить содержимое файла, чтобы копировалась только исходящая от нашего домена почта.
сегодня совсе нет времени вникать в эту задачу но на "быструю руку" и без гарантии1 вариант
в том примере что вам уже предложили УБЕРИТЕ секции
#To: E-mail check
R$+ < @ $+ . > $* $: $1 < @ $2 . > $3 $| $1 @ $2
R$+ < @ $+ . > $* $| $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#To: Domain check
R$+ < @ $+ . > $* $| $+ @ $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#From: E-mail check
R$* < @ $+ . > $* $| $* $: $1 <@ $2 . > $3 $| $&f
R$* < @ $+ . > $* $| <$*> $: $1 <@ $2 . > $3 $| $4
R$* < @ $+ . > $* $| $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3#From: Domain check
R$* < @ $+ . > $* $| $+ @ $={COPY} $#copymail $@ localhost $: $1 < @ $2 . > $3Тогда будет вам проверка исходящей почты с ip из вашей сети
2 ВАРИАНТ
В вашем же примере добавим ip источника на проверку
получится что-то такоеR$* < @ $+ . > $: $1 <@ $2 . > <$&{client_addr}>
R$* < @ $+ . > <$=R> $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}ну это при условии что ip к-м разрешено релеить находчтся в relay-domains
>[оверквотинг удален]
>
>2 ВАРИАНТ
>В вашем же примере добавим ip источника на проверку
>получится что-то такое
>
>R$* < @ $+ . > $: $1 <@ $2 . > <$&{client_addr}>
>R$* < @ $+ . > <$=R> $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
>
>ну это при условии что ip к-м разрешено релеить находчтся в relay-domains
>Medlar, по первому варианту из какого файла убирать строчки? Мне не совсем понятно. И если вы сейчас заняты, то когда к вам лучше обратиться?
СООБЩИТЕ СВОЙ МЭЙЛ НА АДРЕС
постмастер анрб точка руя вам отвечу позже
>СООБЩИТЕ СВОЙ МЭЙЛ НА АДРЕС
>постмастер анрб точка ру
>
>я вам отвечу позже:( напишите на латинском свой e-mail, плиз.
>СООБЩИТЕ СВОЙ МЭЙЛ НА АДРЕС
>постмастер анрб точка ру
>
>я вам отвечу позжеТак как правильно пишется ваш e-mail?
Вам же во втором посте дали ссылку на мильтер, с помощью котрого, можно настроить очень гибкие правила копирования буквально за 5 минут. Мышки плакали, кололись но продолжали жрать кактус (с)
>Вам же во втором посте дали ссылку на мильтер, с помощью котрого,
>можно настроить очень гибкие правила копирования буквально за 5 минут. Мышки
>плакали, кололись но продолжали жрать кактус (с)Хочу просто разобраться с написанием правил.
>>Вам же во втором посте дали ссылку на мильтер, с помощью котрого,
>>можно настроить очень гибкие правила копирования буквально за 5 минут. Мышки
>>плакали, кололись но продолжали жрать кактус (с)
>
>Хочу просто разобраться с написанием правил.ну если только с правилами,
только этот способ намного более дорогой, чем addrcpt в milter,
т.к. каждое сообщение обрабатывается 2 раза, а кроме того на каждое
копирование производится запуск sendmail. такими приемами пользовались
когда milterа не было, да и то не всегда.
Вообще-то здесь я уже все объяснила и добавить-то нечегоЕсли не понятен первый вариант, почему вы не можете в уже используемом вами варианте всего лишь заменить вашу строку
# Send all mail to copymail mailer
R$* < @ $+ . $~{CP} . > $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}на те что я привела и сообщить результат?
>Вообще-то здесь я уже все объяснила и добавить-то нечего
>
>Если не понятен первый вариант, почему вы не можете в уже используемом
>вами варианте всего лишь заменить вашу строку
># Send all mail to copymail mailer
>R$* < @ $+ . $~{CP} . > $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
>
> на те что я привела и сообщить результат?
>
>То есть получиться такой copymail.m4?
PUSHDIVERT(-1)
ifdef(`COPYMAIL_MAILBOX',,`define(`COPYMAIL_MAILBOX',`test@test.ru')')dnl
POPDIVERT#########################################
### COPYMAIL Mailer specification ###
#########################################VERSIONID(`$Id: cpsendmail.html,v 1.2 2002/06/14 18:39:10 freeman Exp $')dnl
LOCAL_CONFIG
D{COPYMAIL}COPYMAIL
C{CP}${COPYMAIL}LOCAL_RULE_0
R$* < @ $+ . > $: $1 <@ $2 . > <$&{client_addr}>
R$* < @ $+ . > <$=R> $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
# if mail has been processed by copymail mailer, process it usual way...
R$* < @ $* . ${COPYMAIL} > $1 < @ $2 . ># Send message to original recipient + additional mailbox: COPYMAIL_MAILBOX
Mcopymail, P=/usr/sbin/sendmail, F=fmSDFMu, S=0, R=0, A=sendmail -N never COPYMAIL_MAILBOX.${COPYMAIL} $uО результате сообщу.
поправочка
вместо <$=R>
<$=R $*>
>Вообще-то здесь я уже все объяснила и добавить-то нечего
>
>Если не понятен первый вариант, почему вы не можете в уже используемом
>вами варианте всего лишь заменить вашу строку
># Send all mail to copymail mailer
>R$* < @ $+ . $~{CP} . > $#copymail $@ $2 . $3 . ${COPYMAIL} $: $1 @ $2 . $3 . ${COPYMAIL}
>
> на те что я привела и сообщить результат?
>
>Попробовала. К сожалению, письма всё равно копируются все вх и исх письма.
в каком файле прописаны ip которым разрешено релеить?
>в каком файле прописаны ip которым разрешено релеить?/etc/mail/access
Вот это для кого было написано несколькими днями ранее?"... ну это при условии что ip к-м разрешено релеить находчтся в relay-domains ... "
И кстати вопрос об источнике выбранного вами набора правил также повис в воздухе
P.S. Простите, без обид, зачем вам sendmail?
Может, выбрать почтовик попроще?
Если не ошибаюсь (народ подправит), в exim-е копирование почты настраивается достаточно просто
>Вот это для кого было написано несколькими днями ранее?
>
>"... ну это при условии что ip к-м разрешено релеить находчтся в
>relay-domains ... "Извиняюсь, почему-то когда стала пробовать на практике, то совсем про это условие забыла. Что нужно изменить, если файл используется /etc/mail/access?
>И кстати вопрос об источнике выбранного вами набора правил также повис в
>воздухеДелала по 1-му варианту отсюда
http://www.opennet.me/docs/RUS/sendmail_copy/>P.S. Простите, без обид, зачем вам sendmail?
>Может, выбрать почтовик попроще?
>Если не ошибаюсь (народ подправит), в exim-е копирование почты настраивается достаточно просто
>То есть с sendmail это будет сложновато сделать? Просто мне не хотелось чтобы всё работало с одним конфигурационным файлом почтовика.
>>Вот это для кого было написано несколькими днями ранее?
>>
>>"... ну это при условии что ip к-м разрешено релеить находчтся в
>>relay-domains ... "
>
>Извиняюсь, почему-то когда стала пробовать на практике, то совсем про это условие
>забыла. Что нужно изменить, если файл используется /etc/mail/access?переписать эту строку
но я этим занимться сегодня не буду - и так на полпути к даче>[оверквотинг удален]
>
>Делала по 1-му варианту отсюда
>http://www.opennet.me/docs/RUS/sendmail_copy/
>
>>P.S. Простите, без обид, зачем вам sendmail?
>>Может, выбрать почтовик попроще?
>>Если не ошибаюсь (народ подправит), в exim-е копирование почты настраивается достаточно просто
>>
>
>То есть с sendmail это будет сложновато сделать?судя по этому треду, разросшемуся из ничего, для вас - да
опять-таки, без обид, обычно народ спрашивает правило или набор правил,
получает его и в след.раз заходит
на эту ветку (если заходит) только чтобы сказать thnks.А многоуважемый Z0termaNN уже вам объяснил почему не стоит использовать именно это решение
P/S/ Если все-таки будете продолжать копать в этом направлении обратите внимание на поправочку из моего предыдущего поста
уж извините, что поднимаю такую древнюю тему, но всё же.
Можете объяснить, зачем в конфиге стоит sendmail -N never ? При этом пользователям, для которых идет копирование почты, никогда не присылаются dsn. Некоторые умельцы -N never не ставят (пример тут http://www.mavhome.dp.ua/docs/copymail.htm)Или в этом случае может возникнуть какое-то зацикливание?
По правде говоря, я за пол года эксплуатации варианта, приведенного в ссылке, столкнулся с постоянной доставкой одного и того же письма с одного внешнего почтового сервера. После чего переделывал на вариант с 2мя разными конфигами. Проблема исчезла, но отсутствие сообщений об ошибках доставки у пользователей не радует.(Про милтер советовать не нужно, я его и так попробую, но хотелось бы прояснить ситуации с широко распространенными вариантами копировани на основе подобных правил copymail.m4