The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"RE: Сохранение отправленных сообщений на сервере (sendmail)"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от mrrc emailИскать по авторуВ закладки on 04-Авг-01, 16:55  (MSK)
Цель собственно заключается в следующем, нужно чтобы копии отправленных сообщений с определенного почтового ящика сохранялись на самом сервере в некой папке (что-то типа sent в почтовом клиенте, но на самом сервере).
Либо при отправке сообщения на какой-то адрес чтобы это сообщение дублировалось в некий скрытый почтовый ящик на этом же сервере, откуда в последствие можно было бы их забирать и изучать.
Может можно каким-либо образом во время отправления на самом сервере подставлять к отправляемому сообщению дополнительный локальный адрес на этом же сервере, чтобы копия отправляемого письма ложилась в "скрытый" почтовый
ящик?

Надеюсь, я внятно очертил проблему.
FreeBSD 4.3   штатный sendmail

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от Vit emailИскать по авторуВ закладки on 04-Авг-01, 19:58  (MSK)
Для этого пишется плюгин для сендмейла ты просто сливаешь весь трафик куда-то и ничего неделаешь, а потом перловым скриптом раскладываешь это все по полочкам. Одним словом нужны навыки програмиста на С, в целом задачка простецкая
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от mrrc emailИскать по авторуВ закладки on 04-Авг-01, 20:05  (MSK)
Да, поступало подобное предложение, все пишется в базу и все такое, но это стоит порядка $100, а нет ли где готового решения, т.к. сам написание сего не осилю просто.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от Vit emailИскать по авторуВ закладки on 06-Авг-01, 12:25  (MSK)
Готовыхрешения есть, но как видишь, они не распространяются, - согласно лицензии GNU ты либо отдаешь свое детище во всеобщее поьлзование, либо пользуешь сам иденолично, большенство девелоперов предпочитают второе, совсем не потому что им жалко... просто первый вариант очень гемороен - все заканчивается тем, что на тебя начинают наезжать наглые юзера со всякими требованиями и идеоцкими вопросами...

Найди тут переписку с темой "Знатокам sendmail.cf:как запретить прием писем, содержащих определенные слова?" там описывается некая библиотечка, найди мне такую НОРМАЛЬНУЮ (не libmime), я тебе за спасибо напишу.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от Maxim Chirkov emailИскать по авторуВ закладки on 06-Авг-01, 13:26  (MSK)

copymail.m4:
-------------------------------------------------------------

ifdef(`_MAILER_smtp_',,
        `errprint(`*** MAILER(smtp) must appear before copymail mailer')')dnl

LOCAL_CONFIG
CPNOCOPY

LOCAL_NET_CONFIG
R$ <@$ .NOCOPY.> $#esmtp $@$2 $:$1<@$2.>
R$ <@$ .> $#copymail $@nohostneeded $:$1<@$2.NOCOPY>
R$ <@$ > $#copymail $@nohostneeded $:$1<@$2.NOCOPY>

MAILER_DEFINITIONS
# Copy a message by sending it back to sendmail with an additional address:
#       copyuser
Mcopymail, P=/usr/lib/sendmail, F=fmSDFMu,
        S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'),
        A=sendmail -C /tmp/copyuser.cf copyuser $u


  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от mrrc emailИскать по авторуВ закладки on 07-Авг-01, 14:19  (MSK)
Да, уже не от первого человека слышу про некий хак сендмэйла copymail.m4, даже ссылка имеется на сие чудо ftp://ftp.harker.com/pub/sendmail/cf, но как со всем этим работать, как прикрутить и настроить то?

Кто ставил подобное у себя, поделитесь что к чему.


<b>2 Vit</b>:
О какой именно библиотеке идет речь, давай поищем в конце концов.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от mrrc emailИскать по авторуВ закладки on 10-Авг-01, 20:38  (MSK)
up
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от andrew Искать по авторуВ закладки on 13-Авг-01, 17:38  (MSK)
Я пошел другим путем
см тему "отслеживание сообщений в sendmail"
в этом форуме. Там все через procmail
  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от mrrc emailИскать по авторуВ закладки on 14-Авг-01, 12:04  (MSK)
2 andrew

Не нашел я твоей темы

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от andrew Искать по авторуВ закладки on 14-Авг-01, 13:18  (MSK)

Sendmail не может, надо procmail
conf MC4:
define(`PROCMAIL_MAILER_PATH',/usr/local/bin/procmail)dnl
define(`PROCMAIL_MAILER_ARGS',`procmail -Y -m $h $g $u')dnl
MAILER(procmail)dnl

LOCAL_CONFIG
D{Procmail} PROCMAIL #
CP ${Procmail} # это все пурга, можно дальше писать руками
C{PRT} ${Procmail} #
LOCAL_RULE_0
# приводим нормальный адрес в рабочем пространстве мыла к виду
#user@host.dom.procmail и отпр. в procmail
R$*<@$+.$~{PRT}.>$* <tab> $# procmail $@ /etc/some.rc $:$1@$2.$3.${Procmail}
# если адрес вида user@host.dom.procmail ( т.е. procmail уже
#отработал) - перевод в нормальный вид
R$*<@$*.${Procmail}.>$* <tab> $@ $1<@$2.>$3

LOCAL_RULE_2
# чтобы sendmail не запортил user@host.dom.procmail при переходе
# от ррр@fff.ru к ppp<@fff.ru>
R$*@$+.${Procmail} <tab> $1<@$2.${Procmail}>


В /etc/some.rc (для хоста domen.ru):


:0
*^TO.*domen.ru # для входящей почты
{
:0 c
! -f "$@" # почта по назначению
:0 # копия в ящик in@domen.ru c очистой СС и ВСС
|/usr/local/bin/formail -I"To: in" -I"Cc:" -I"Bcc:" |/usr/sbin/sendmail -t
}

:0
*^TO.* # тоже самое для всей остальной почты
в out@domen.ru
{
:0 c
! -f "$@"
:0
|/usr/local/bin/formail -I"To: out" -I"Cc:" -I"Bcc:" -I"X-SND: Procmail"|/usr/sb
in/sendmail -t
}


По procmail: unix.stat.burnet.ru/procmail/ При такой раскладке вся почта на серваке будет работать так: sendmail->procmail->sendmail.
На этапе procmail делайте с почтой что хотите.
P.S. Постарайся сам внимательно разобраться с
sendmail.mc, особенно с LOCAL_RULE_. Там очень важно не напутать с табуляцией и пробелами.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: Сохранение отправленных сообщений на сервере (sendmail)"
Сообщение от Vit emailИскать по авторуВ закладки on 13-Авг-01, 19:40  (MSK)
Признаюсь - погорячился :( То что я предлагаю - это геморой для простых смертных (серверов), это решение хорошо для бо-ольших серверов.

Для обычных, простых задач, типа простого бекапа трафика, самым лучшим выходом будет вариант описаный by andrew в сабджекте "отслеживание сообщений в sendmail", или подобным ему.

P.S. библиотеку найти очень трудно, самому писать лень, использую гребаный libmime, работает удовлетворительно с натяжкой. И еще раз повторюсь - я немного перегнул, этот вариант для сложных задач, самая простая из которых - акуратное отфильтровывание всех вирусов.

Кому интересно - работает это так. Сендмаил получает письмо, отдает своему плюгину через сокет, тот используя libmime полностью раскручивает его на части "заголовок, часть письма 1 (например письмо), часть письма 2 (например файл), .... , после этого прогоняет все части через АВП сервер, если файл, содержащийся в части письма, с вирусом, то тот "лечится", если же это невозможно, то файл заменяется сообщением, что тут был вирус такой-то. Когда все части будут проверены, они запаковываются обратно в письмо, так чтобы оно максимально соответствовало своему оригиналу. В заголовок письма добавляются "X-" строчки с описанием проделаной работы. Это письмо возращается сендмейлу, и тот с ним работает, как будто его он получил из сети, - либо отправляет дальше на другой узел, либо кладет в почтовый ящик локальным мейлиром. Вот и все пироги.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру