На одном серваке была проблемка с алиасами, точнее так имеется пользователь pupkin@xxx.kiev.ua, необходимо было сделать так, что бы почта попадала pupkin@xxx.kiev.ua и vasya@xxx.kiev.ua После ряда манипуляций, пришел к виду записи:pupkin@xxx.kiev.ua: pupkin@xxx.kiev.ua, vasya@xxx.kiev.ua
Не смотря на банальность, если менялось местами вторая колонка (тобишь vasya и pupkin) получался дубляж. Шлешь одно получаешь два. А в такой вариации все заработало. Для хранения использовался mysql:
[remote_aliases]
mysql> show columns from remote_aliases;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| alias | varchar(255) | | | | |
| rcpt | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.02 sec)mysql>
Вот что содержится(кусок):
mysql> select * from remote_aliases;
+------------------------+---------------------------------------------------------+
| alias | rcpt |
+------------------------+---------------------------------------------------------+
| admin@xxx.kiev.ua | admin@xxx.kiev.ua, skif@xxx.kiev.ua, mihey@xxx.kiev.ua |
| alena@xxx.kiev.ua | alena@xxx.kiev.ua, mik@xxx.kiev.ua |
..........................................
В общем все заработало. А потом трах бах вторая серия - снова пошли дубляжи писем. Шлют одно, а пользователь получает два.Вот лог:
[maillog]
==========================================================
Jul 6 12:57:40 xxx postfix/cleanup[55784]: 64684FDD7: warning: header
Subject: Host UP alert for freebsd-stoyanka! from local;
from=<nagios@skif.bsd> to=<admin@xxx.kiev.ua>
Jul 6 12:57:40 xxx postfix/qmgr[55484]: 64684FDD7: from=<nagios@skif.bsd>,
size=1033, nrcpt=5 (queue active)
Jul 6 12:57:40 xxx postfix/pipe[55617]: 4E614FDBF: to=<admin@xxx.kiev.ua>,
relay=mailfilter, delay=6, status=sent (dummy)
Jul 6 12:57:40 xxx postfix/pipe[55617]: 4E614FDBF: to=<mihey@xxx.kiev.ua>,
orig_to=<admin@xxx.kiev.ua>, relay=mailfilter, delay=6, status=sent (dummy)
Jul 6 12:57:40 xxx postfix/pipe[55617]: 4E614FDBF: to=<skif@xxx.kiev.ua>,
orig_to=<admin@xxx.kiev.ua>, relay=mailfilter, delay=6, status=sent (dummy)
Jul 6 12:57:40 xxx postfix/qmgr[55484]: 4E614FDBF: removed
Jul 6 12:57:40 xxx postfix/virtual[55534]: 64684FDD7: to=<admin@xxx.kiev.ua>,
relay=virtual, delay=0, status=sent (delivered to maildir)
Jul 6 12:57:40 xxx postfix/virtual[55534]: 64684FDD7: to=<mihey@xxx.kiev.ua>,
orig_to=<admin@xxx.kiev.ua>, relay=virtual, delay=0, status=sent (delivered
to maildir)
Jul 6 12:57:40 xxx postfix/virtual[55534]: 64684FDD7: to=<mihey@xxx.kiev.ua>,
relay=virtual, delay=0, status=sent (delivered to maildir)
Jul 6 12:57:40 xxx postfix/virtual[55534]: 64684FDD7: to=<skif@xxx.kiev.ua>,
orig_to=<admin@klo.kiev.ua>, relay=virtual, delay=0, status=sent (delivered
to maildir)
Jul 6 12:57:40 xxx postfix/virtual[55534]: 64684FDD7: to=<skif@xxx.kiev.ua>,
relay=virtual, delay=0, status=sent (delivered to maildir)
Jul 6 12:57:40 xxx postfix/qmgr[55484]: 64684FDD7: removed
Jul 6 12:57:40 xxx postfix/pickup[55483]: 9E97AFDE6: uid=106
from=<nagios@skif.bsd>
==========================================================Как видно - доставляется письмо дважды :(:(
А вот конфиг:[main.cf]
==========================================================
################ My config ###################
disable_vrfy_command = yes
message_size_limit=40024000
smtp_skip_4xx_greeting = yes
smtp_skip_5xx_greeting = no
transport_maps = mysql:/usr/local/etc/postfix/transport.cf
############# Virtual ######################
virtual_mailbox_base = /
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/aliases.cf
virtual_alias_maps = mysql:/usr/local/etc/postfix/remote_aliases.cf
virtual_transport = virtual
virtual_uid_maps = static:65534
# if nodody in you system has this id
virtual_gid_maps = static:6
# if mail group has this gidrelay_domains = $transport_maps,$mydestination
smtpd_recipient_restrictions =
mysql:/usr/local/etc/postfix/protected_destinations, reject_rbl_client opm.blitzed.org, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org,check_sender_access mysql:/usr/local/etc/postfix/restricted_senders,permit_mynetworks,check_sender_access mysql:/usr/local/etc/postfix/antispam,check_relay_domains
########## Permisiions for local users
smtpd_restriction_classes = local_only,insiders_only
local_only = check_recipient_access
mysql:/usr/local/etc/postfix/local_domains,reject_unauth_destination
insiders_only = check_sender_access
mysql:/usr/local/etc/postfix/insiders,rejectsmtpd_client_restrictions = reject_rbl_client list.dsbl.org,regexp:/usr/local/etc/postfix/block_from_name
reject_code = 550
unknown_client_reject_code = 550############## Checks ##############
header_checks=regexp:/usr/local/etc/postfix/header-checks
mime_header_checks=regexp:/usr/local/etc/postfix/mime_checks
mime_header_checks=pcre:/usr/local/etc/postfix/mime_checks
==========================================================как бы с сим снова побороться? Я опять немогу вкурить, почему он начал дубликатить письма....
Может попробовать переиначить таблицу? Сделать что-то типа:
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| alias | varchar(255) | | | | |
| rcpt | varchar(255) | YES | | NULL | |
| bсс | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
и выборку делать так:[root@xxx.com.ua] /usr/local/etc/postfix/:less remote_aliases.cf
user = mailadmin
password = password
dbname = mailserver
table = remote_aliases
select_field = rcpt, bcc
where_field = alias
hosts = localhostвот тока отработается ли такой вариант?
Это у него алгоритм такой - ходить по алиасам, пока не зациклимся, после этого доставлять.Я это решил прописыванием алиасов, которые в принципе не могуть быть емейлами:
pupkin@xxx.kiev.ua -> SYSTEM_pupkin@xxx.kiev.ua
pupkin@xxx.kiev.ua -> vasya@xxx.kiev.ua
vasya@xxx.kiev.ua -> SYSTEM_vasya@xxx.kiev.ua
SYSTEM_pupkin@xxx.kiev.ua -> SYSTEM_pupkin@xxx.kiev.ua
SYSTEM_vasya@xxx.kiev.ua -> SYSTEM_vasya@xxx.kiev.ua(разумеется, схему именования алиасов можно выбирать любую).
>Это у него алгоритм такой - ходить по алиасам, пока не зациклимся,
>после этого доставлять.
>
>Я это решил прописыванием алиасов, которые в принципе не могуть быть емейлами:
>
>
>pupkin@xxx.kiev.ua -> SYSTEM_pupkin@xxx.kiev.ua
>pupkin@xxx.kiev.ua -> vasya@xxx.kiev.ua
>vasya@xxx.kiev.ua -> SYSTEM_vasya@xxx.kiev.ua
>SYSTEM_pupkin@xxx.kiev.ua -> SYSTEM_pupkin@xxx.kiev.ua
>SYSTEM_vasya@xxx.kiev.ua -> SYSTEM_vasya@xxx.kiev.ua
>
>(разумеется, схему именования алиасов можно выбирать любую).
Решил вопрос таким образом:
....alias...............rcpt .................bcc
alena@xxx.kiev.ua| mik@xxx.kiev.ua | alena2@xxx.kiev.uaТоесть ввел еще одно поле. и пользователя alena2, который имеет общий ящик с пользователем alena.
Пока работает, а там будем наблюдать :)