На одном серваке была проблемка с алиасами, точнее так имеется пользователь 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 gid
relay_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,reject
smtpd_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
вот тока отработается ли такой вариант?