Страница 1 из 1

Exim отправка письма получателю и складывание в архив..

Добавлено: 2007-07-18 10:10:01
netf0x
Собственно такой вот вопрос. Я в почтовых системах совсем зеленый. Поставил по статье Exim+Dovecot+postfixadmin.
Заработало. За статью спасибо. Кое что понял, но пока маловато.
Задача у меня такая что бы письма помимо отправки скидывались в архив, желательно по направлению (входящие, исходящие)по пользователям, что бы потом искать было удобно.. А как это сделать ума не приложу. Может быть у кого то есть действующий конфиг, решение? А если обьяснит то было бы вообще здорово..

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-18 10:14:08
Alex Keda
отдельный роутер(ы), отдельный транспорт(ы)
в роутерах делаешь unseen копию на другое мыло - локальное, с префиксом, input-/output- yнапример.в транспортах скадываешь куда надо такие письма...
=============
это на пальцах. в реальности будет тяжело и долго.. :)

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-18 10:28:15
klin2

Код: Выделить всё

#routers
....
archive_mail:
 driver = accept
 #domains = !domain1.local : domain2.de : domain3.de
 transport = mail_archive
 unseen
......

#transports
....
mail_archive:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  maildir_format
  directory = /var/mail/archive/${substr_0_10:$tod_log}/$domain/$local_part
....
i wse..
MfG
Klin

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-18 10:47:24
Alex Keda
дай листинг этой директории.
=============
инетерсно, как оно складывает почту идущую наружу :)))

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-18 12:27:15
klin2
Oops!
V routers sakommentirovat "domains" !!
delal dlja testa..

Код: Выделить всё

#routers
....
archive_mail:
driver = accept
#domains = !domain1.local : domain2.de : domain3.de
transport = mail_archive
unseen
......
Listing:

Код: Выделить всё

ls -R
.:
2007-07-18

./2007-07-18:
extdomain1.net  maindomain.de  extdomain2.de

./2007-07-18/extdomain1.net:
user1

./2007-07-18/extdomain1.net/user1:
cur  new  tmp

./2007-07-18/extdomain1.net/user1/cur:

./2007-07-18/extdomain1.net/user1/new:
1184750024.H884506P3256.router1.maindomain.de

./2007-07-18/extdomain1.net/user1/tmp:

./2007-07-18/maindomain.de:
user3

./2007-07-18/maindomain.de/user3:
cur  new  tmp

./2007-07-18/maindomain.de/user3/cur:

./2007-07-18/maindomain.de/user3/new:
1184745678.H21597P2711.router1.maindomain.de

./2007-07-18/maindomain.de/user3/tmp:

./2007-07-18/extdomain2.de:
user2

./2007-07-18/extdomain2.de/user2:
cur  new  tmp

./2007-07-18/extdomain2.de/user2/cur:

./2007-07-18/extdomain2.de/user2/new:
1184750068.H906917P3273.router1.maindomain.de

./2007-07-18/extdomain2.de/user2/tmp:

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-18 12:28:52
Alex Keda
помойка...
я же на словах описал грамтное решение, где всё красиво будет

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-18 12:40:25
netf0x
сделал так:

Код: Выделить всё

inarchive:
driver = redirect
domains = +local_domains
senders = !*@+local_domains
condition = "${if eq {$received_protocol}{spam-scanned} {0}{1}}"
file_transport = address_file
data = /var/backup/in_$tod_logfile
unseen

outarchive:
driver = redirect
senders = *@+local_domains
domains = !+local_domains
condition = "${if eq {$received_protocol}{spam-scanned} {0}{1}}"
file_transport = address_file
data = /var/backup/out_$tod_logfile
unseen

internal_archive:
driver = redirect
domains = +local_domains
senders = *@+local_domains
condition = "${if eq {$received_protocol}{spam-scanned} {0}{1}}"
file_transport = address_file
data = /var/backup/internal_$tod_logfile
unseen
 ...
#транспорты
begin transports

address_file:
  debug_print = "T: address_file for $local_part@$domain"
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add
  mode = 0660 
...
подсмотрел конечно где то на просторах инета..
не могу понять вот это - condition = "${if eq {$received_protocol}{spam-scanned} {0}{1}}" ...
прошу сильно не бить :D
для поиска письма решил использовать mboxgrep.. но долго это..

Re: Exim отправка письма получателю и складывание в архив.

Добавлено: 2007-07-19 10:21:22
klin2

Код: Выделить всё

#routers
....
archive_mail:
  driver = accept
  transport = mail_archive
  unseen
......

#transports
....
mail_archive:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  create_directory
  directory_file = q${base62:$tod_epoch}-$inode
  directory = /var/mail/backup/${substr_0_10:$tod_log}/${if match_domain{$domain}{+local_domains}{incoming}{outgoing}}\
                   /$domain/$local_part
....
MfG
Klin