[amavisd-new] Доставка нескольким администраторам. [solved]

Доброго времени суток.

Скажите, amavis умеет доставлять предупреждения о вирусах сразу по нескольким адресам? Пробовал $virus_admin = "user\@domain1.dom, user\@domain2.dom";, и $virus_admin = "user\@domain1.dom user\@domain2.dom";, и $virus_admin = "user\@domain1.dom,user\@domain2.dom"; — ничто не помогает. В логах почтового сервера светится один большой адрес вида "user@domain1.dom, user"@domain2.dom". Как заставить его сделать то, что надо?

Думал, что хеши помогут, но там, как и ожидалось, письмо отправляется по единственному адресу, соответствующему совпадению. Использование алиасов, к сожалению, затруднительно.

upd Смотреть надо конфиги вниматочнее. myorigin

HolyBoy написал(а): Как

HolyBoy написал(а):
Как заставить его сделать то, что надо?

Думал, что хеши помогут, но там, как и ожидалось, письмо отправляется по единственному адресу, соответствующему совпадению. Использование алиасов, к сожалению, затруднительно.

В смысле "алиасов"?
Используй списки рассылки (Или это то, что ты называешь "алиасами"?):
Локальный MTA в режиме форвардинга, amavisd отдаёт ему письмо на адрес admin@mydomain.ru (по факту являющийся списком адресов) и уже MTA рассылает извещение по адресам из списка.

:wq
--
Live free or die

Ага.В /etc/mail/aliases

Ага. Это я и делал. Потому приписка в исходном посте была такая.

В /etc/mail/aliases добавил:

user:
 ,
 

и сделал newaliases, при этом, relay_domains = domain.ru.

При отправке письма echo 123 | mail user, оно валится туда, куда указывает transport_maps, т.е. на сервер, который является конечным пунктом назначения на адрес

. А надо, чтобы он слал по адресам, указанным для этого алиаса.

Можно поподробней ? П.С на

Можно поподробней ?

П.С на крайний случай можно заюзать для transport_maps любую lookup table

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Можно

Можно подробней.

main.cf

alias_database = hash:/etc/mail/aliases
alias_maps = hash:/etc/mail/aliases
bounce_queue_lifetime = 1d
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = //usr/lib/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
default_destination_concurrency_limit = 20
disable_vrfy_command = yes
home_mailbox = .maildir/
html_directory = /usr/share/doc/postfix-2.6.5/html
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
maximal_backoff_time = 6h
maximal_queue_lifetime = 3d
minimal_backoff_time = 180s
myhostname = host.domain.ru
mynetworks = 127.0.0.0/8, 10.3.0.11
myorigin = domain.ru
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.5/readme
receive_override_options = no_address_mappings
relay_domains = domain.ru
relay_recipient_maps = hash:/etc/postfix/relay_recipients
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_always_send_ehlo = yes
smtp_helo_timeout = 60s
smtp_mail_timeout = 60s
smtp_rcpt_timeout = 90s
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = permit_mynetworks,   check_client_access regexp:/etc/postfix/spamers,   reject_unknown_client_hostname,   reject_rbl_client http.dnsbl.sorbs.net,   reject_rbl_client soks.dnsbl.sorbs.net,   reject_rbl_client smtp.dnsbl.sorbs.net,   reject_rbl_client dul.dnsbl.sorbs.net,   reject_rbl_client xbl.spamhaus.org,   permit
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_etrn_restrictions = reject
smtpd_hard_error_limit = 1
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,   reject_invalid_helo_hostname,   reject_non_fqdn_helo_hostname,   reject_unknown_helo_hostname,   permit
smtpd_recipient_limit = 10
smtpd_recipient_restrictions = permit_mynetworks,   reject_non_fqdn_recipient,   reject_unknown_recipient_domain,   reject_unlisted_recipient,   reject_unauth_destination,   permit
smtpd_reject_unlisted_recipient = yes
smtpd_sender_restrictions = permit_mynetworks,   reject_non_fqdn_sender,   reject_unknown_sender_domain,   reject_rhsbl_sender http.dnsbl.sorbs.net,   reject_rhsbl_sender soks.dnsbl.sorbs.net,   reject_rhsbl_sender smtp.dnsbl.sorbs.net,   reject_rhsbl_sender dul.dnsbl.sorbs.net,   reject_rhsbl_sender xbl.spamhaus.org,   permit
smtpd_timeout = 120s
strict_rfc821_envelopes = yes
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550

transport

domain.ru  smtp:[10.3.0.11]

Ну а список рассылки постами выше.

Вопрос: сервер - smtp proxy

смысл transport_maps вкупе с relay_domains вам точно понятен ?

я пока не понимаю конфигурацию схему с релеями, потому вопросы:
и так: есть сервер с MX example.com.

сервер , указанный в relay_domains - он кто по отношению к данному серверу ?
есть адрес вида

- надо при посылке писма на этот адрес рассылать на

и

? я правильно понимаю задачу ?

П.С легче все таки в конфе порешать

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Нехороший человек!

slepnoga написал(а):
смысл transport_maps вкупе с relay_domains вам точно понятен ?

Редиско, почто обрываешь изложение на самом интересном месте?

:wq
--
Live free or die

Anarchist

Anarchist написал(а):
Редиско, почто обрываешь изложение на самом интересном месте?

А у тебя, как понимаю, вопросов на тему: как можно одному и тому же пользователю класть локально письмо и сделать рассылку не осталось? Сам подкорректировал своё видение на тему как оно должно быть?

slepnoga написал(а):смысл

slepnoga написал(а):
смысл transport_maps вкупе с relay_domains вам точно понятен ?

После твоих слов я и сам засомневался. Посмотрел маны. Решил слегка поправить по итогам конфиги, чтобы было как положено. Итак: терзаемый мною сейчас сервер является релеем для domain.ru. Этот домен указывается в relay_domains, чтобы разрешить MTA пересылать письма, относящиеся к нему. Список пересылаемых адресов берётся из relay_recipient_maps. Далее, в transport_maps указываем, куда именно засылать письма (вот тут и поправил): domain.ru relay:[10.3.0.11]

Но, по сути, это всё косметические штрихи. Если ты что-то другое имел в виду, не останавливайся, расскажи, пожалуйста.

slepnoga написал(а):
я пока не понимаю конфигурацию схему с релеями, потому вопросы:
и так: есть сервер с MX example.com.

Да. Это то, что я называл domain.ru.

slepnoga написал(а):
сервер , указанный в relay_domains - он кто по отношению к данному серверу ?

Конечный получатель. И не в relay_domains, а в transport_maps.

slepnoga написал(а):
есть адрес вида

- надо при посылке писма на этот адрес рассылать на

и

? я правильно понимаю задачу ?

Да.

Задача простая, но я не пойму, почему почтовик ведёт себя именно так. Кстати, после вышеуказанных изменений снова попробовал список рассылки: echo test | mail virusadmin. И снова он заслал не по указанным в /etc/mail/aliases адресам, а по

. И даже когда отключил relay.

slepnoga написал(а):
П.С легче все таки в конфе порешать

Да, но в конфе надо ещё, чтобы время совпало. А тут, во-первых, другим почитать есть что, во-вторых, каждый собеседник пишет тогда, когда удобно.

Впрочем, ещё раз пробежался по конфигурации и нашёл свой косяк: myorigin = domain.ru. После исправления на myorigin = $myhostname, всё заработало, как и положено.

.

HolyBoy написал(а):
При отправке письма echo 123 | mail user, оно валится туда, куда указывает transport_maps, т.е. на сервер, который является конечным пунктом назначения на адрес

. А надо, чтобы он слал по адресам, указанным для этого алиаса.

А ты назвал группу реальным пользователем твоего почтового сервера?
ИМХО это вопрос к конфигурации сервера электронной почты.
По настройке postfix'а обращайся к slepnoga, не моя тема.

:wq
--
Live free or die

Да, пользователь существует.

Да, пользователь существует.

.

HolyBoy написал(а):
Да, пользователь существует.

ИМХО причина того, что трансляция через группу у тебя не работает именно в этом.
Вообще в моём представлении о здравом смысле список рассылки (группа), совпадающая с неким системным пользователем... выглядит очень странно.
Попробуй исправить этот момент.

:wq
--
Live free or die

Никакого эффекта, точнее,

Никакого эффекта, точнее, результат тот же. Более того, если я укажу даже не существующего ни в таблице алиасов, ни в списке релейных пользователей testuser, то МТА исправно допишет ему @domain.ru и отправит по transport_maps. Вопросов к тому, почему принимается — нет, ибо permit_mynetworks, но вот почему вот так вольно обращается с пользователем — неясно до сих пор.

/

HolyBoy написал(а):
Никакого эффекта, точнее, результат тот же. Более того, если я укажу даже не существующего ни в таблице алиасов, ни в списке релейных пользователей testuser, то МТА исправно допишет ему @domain.ru и отправит по transport_maps. Вопросов к тому, почему принимается — нет, ибо permit_mynetworks, но вот почему вот так вольно обращается с пользователем — неясно до сих пор.

Ты меня извини, но это --- вопрос к тебе.
Точнее --- к глубине понимания тобой принципов работы (и соответственно степени настройки настройки) почтового сервера.

Только что проверил, при использовании sendmail'а оно работает в точности как я и говорил.

:wq
--
Live free or die

На другом сервере прекрасно

На другом сервере прекрасно работает доставка писем для существующего пользователя как в пользовательский ящик, так и в другие, соответственно указанному алиасу. Правда, там сделано немного по-другому.

А здесь вот такие пироги.

/

HolyBoy написал(а):
На другом сервере прекрасно работает доставка писем для существующего пользователя как в пользовательский ящик, так и в другие, соответственно указанному алиасу. Правда, там сделано немного по-другому.

Какой SMTP-сервер используется там, где работает?
Конфиги?

:wq
--
Live free or die

У меня работает. В

У меня работает. В организации. Используется postfix.

Вот, кусок main.conf, который делает то, о чём я говорю:

virtual_mailbox_base = /
virtual_mailbox_maps = ldap:ldapvirtual
virtual_uid_maps = static:207
virtual_gid_maps = static:12
virtual_minimum_uid = 200
virtual_transport = virtual
virtual_alias_maps = ldap:ldapalias


ldapvirtual_server_host = mainserv
ldapvirtual_server_port = 389
ldapvirtual_version = 3
ldapvirtual_bind = yes
ldapvirtual_bind_dn = cn=bind,ou=Users,dc=domain,dc=com
ldapvirtual_bind_pw = 1
ldapvirtual_search_base = ou=Mail,dc=domain,dc=com
ldapvirtual_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(|(AccountStatus=active)(accountStatus=shared)))
ldapvirtual_result_attribute = mailMessageStore

ldapalias_server_host = mainserv
ldapalias_server_port = 389
ldapalias_version = 3
ldapalias_bind = yes
ldapalias_bind_dn = cn=bind,ou=Users,dc=domain,dc=com
ldapalias_bind_pw = 1
ldapalias_search_base = ou=Mail,dc=domain,dc=com
ldapalias_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(|(AccountStatus=active)(AccountStatus=shared)))
ldapalias_result_attribute = mail

Соответственно, если в каталоге для mail указано несколько адресов, не обязательно, причём, относящихся к моему домену, то при посылке этому пользователю письма, оно не только ему в ящик кладётся локально, но и отсылается туда, куда сказано. А вот когда приходит письмо на один из mailAlternateAddress, то оно попадает в mailMessageStore, описанный для соответствующего mail и рассылается, опять же, по другим адресам, если они там, для этого mail перечислены.

Я не пойму, почему для моей проблемы не работает практически то же самое, за исключением того, что сервер является релеем и пользователи реальные или перечислены в соответствующем файле.

PS Кстати, что мне нравится в решениях с LDAP и прочим: если я захочу, я могу указать ещё один mailMessageStore и все письма пользователям будут складываться ещё куда-то локально. В общем, всё это очень здорово.

@*_admin_maps?

@*_admin_maps?

Не грусти, товарищ! Всё хорошо, beautiful good!

Т.е.?

Т.е.?

У amavisd есть опции

У amavisd есть опции @*_admin_maps (spam, virus, badh), куда можно загонять адреса администраторов доменов. Проверь посмотри, может, там можно списком через запятую можно указать все админов для одного домена.

Не грусти, товарищ! Всё хорошо, beautiful good!

А, понял.Я это уже пробовал

А, понял.

Я это уже пробовал с самого начала, когда начал разбираться. К сожалению, это хэш. Посему, оно не сработает: я могу указать один и тот же аргумент при разных результатах, но выполнится только первый встречный. В самом начале написал.

Осталось только через алиасы, но с ними тоже проблемы обнаружились. Тогда сюда и обратился.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".