Добрый всем день!
У меня вот какая проблема возникла:
Работает почтовый сервер Postfix+Dovecot+MySQL
В main.cf добавил always_bcc=collect@my-domain.ru для сбора писем для начальства. Сначала письма нормально валятся на этот адрес с единственной проблемой, что валятся по 2 копии. А потом в какой-то ничем не примечательный момент дублироваться на этот ящик просто перестают. Ящик вроде не переполнен, так как письма с него очень регулярно снимаются да и проверил что не переполнен. Когда ящик проверяю из почтовой программы (the bat!) авторизуется нормально но говорит писем на сервере новых старых и всяких по нулям.
Вот лог доставки на этот ящик писем:
== cat /var/log/maillog grep -A 5 -B 5 collect ======================
Apr 21 11:30:10 my-domain postfix/trivial-rewrite[67840]: warning: do not list domain my-domain.ru in BOTH mydestination and virtual_mailbox_domains
Apr 21 11:30:10 my-domain postfix/cleanup[67841]: A890B1C0BA9: message-id=<op.usp1bxz3tc0pik@sm-term1.localdomain.local>
Apr 21 11:30:10 my-domain postfix/smtpd[67844]: disconnect from localhost[127.0.0.1]
Apr 21 11:30:10 my-domain postfix/qmgr[5888]: A890B1C0BA9: from=<logist@my-domain.ru>, size=73026, nrcpt=3 (queue active)
Apr 21 11:30:10 my-domain postfix/trivial-rewrite[67840]: warning: do not list domain my-domain.ru in BOTH mydestination and virtual_mailbox_domains
Apr 21 11:30:10 my-domain postfix/virtual[67846]: A890B1C0BA9: to=<collect@my-domain.ru>, relay=virtual, delay=0.11, delays=0.04/0.04/0/0.03, dsn=5.2.2, status=bounced (maildir delivery failed: "????????, ? ???????????? ??????????? ????? ?? ????? ??? ????????? ?????. ?????????? ?????????? ????????? ?????? ??? ??? ??? ?????.")
Apr 21 11:30:10 my-domain postfix/virtual[67846]: A890B1C0BA9: to=<collect@my-domain.ru>, relay=virtual, delay=0.12, delays=0.04/0.04/0/0.05, dsn=5.2.2, status=bounced (maildir delivery failed: "????????, ? ???????????? ??????????? ????? ?? ????? ??? ????????? ?????. ?????????? ?????????? ????????? ?????? ??? ??? ??? ?????.")
Apr 21 11:30:10 my-domain amavis[63549]: (63549-05) Passed CLEAN, LOCAL [192.168.0.235] [192.168.0.235] <logist@my-domain.ru> -> <t.k.dorog@mail.ru>,<collect@my-domain.ru>, Message-ID: <op.usp1bxz3tc0pik@sm-term1.localdomain.local>, mail_id: dTs5QZOL4BAo, Hits: -1.44, size: 72626, queued_as: A890B1C0BA9, 2207 ms
Apr 21 11:30:10 my-domain postfix/smtp[67842]: 48ED41C08C7: to=<t.k.dorog@mail.ru>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.6, delays=0.33/0.02/0.01/2.2, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=63549-05, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as A890B1C0BA9)
Apr 21 11:30:10 my-domain postfix/smtp[67842]: 48ED41C08C7: to=<collect@my-domain.ru>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.6, delays=0.33/0.02/0.01/2.2, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=63549-05, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as A890B1C0BA9)
Apr 21 11:30:10 my-domain postfix/qmgr[5888]: 48ED41C08C7: removed
Apr 21 11:30:12 my-domain postfix/smtp[67845]: A890B1C0BA9: to=<t.k.dorog@mail.ru>, relay=mxs.mail.ru[94.100.176.20]:25, delay=1.8, delays=0.04/0.05/0.12/1.5, dsn=2.0.0, status=sent (250 OK id=1Lw8Z2-000Ja3-00)
Apr 21 11:30:12 my-domain postfix/qmgr[5888]: A890B1C0BA9: removed
Apr 21 11:30:12 my-domain postfix/cleanup[67841]: 69B6F1C0C61: message-id=<20090421053012.69B6F1C0C61@my-domain.ru>
Apr 21 11:30:13 my-domain postfix/smtpd[67838]: proxymap stream disconnect
===============================================================================вот main.cf
===============================================================================
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = my-domain.ru
mydomain = my-domain.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = server.$mydomain,localhost, my-domain.ru
unknown_local_recipient_reject_code = 550
mynetworks_style = host
mynetworks = 127.0.0.0/8 192.168.0.235/32 172.16.0.0/24alias_maps = hash:/etc/mail/aliases
alias_database = hash:/etc/mail/aliases#To mysql work
transport_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/transport.conf
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/alias.conf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysqlLookupMaps/domain.conf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/mailbox.conf
virtual_mailbox_base = /var/spool/mail
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/quota.conf
virtual_maildir_extended=yes
virtual_mailbox_limit_override=yes
virtual_uid_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/uids.conf
virtual_gid_maps = mysql:/usr/local/etc/postfix/mysqlLookupMaps/gids.confvirtual_create_maildirsize = yes
virtual_overquota_bounce = yes
virtual_maildir_limit_message="Извините, у пользователя закончилось место на диске для получения почты. Попробуйте пожалуйста отправить письмо ему ещё раз позже."
#############################
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
>$config_directory/$process_name.$process_id.log & sleep 5sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = nosmtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
###smtpd_sasl2_auth_enable = yes
###smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydomain
broken_sasl_auth_clients = yessmtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_note_starttls_offer = yes
smtpd_tls_key_file = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_cert_file = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_CAfile = /usr/local/etc/postfix/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = /dev/urandommailbox_size_limit = 100000000
message_size_limit = 15485760invalid_hostname_reject_code = 550
non_fqdn_reject_code = 550
unknown_address_reject_code = 550
unknown_client_reject_code = 550
unverified_recipient_reject_code = 550
unverified_sender_reject_code = 550
strict_rfc821_envelopes = yes
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_delay_reject = yes
smtpd_client_restrictions =
permit_mynetworks
smtpd_helo_restrictions =
smtpd_sender_restrictions =
permit_mynetworks,
check_sender_access hash:/usr/local/etc/postfix/sender_access
reject_unknown_sender_domain
address_verify_map = btree:/var/db/postfix/verify
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unauth_pipelining,
check_client_access hash:/usr/local/etc/postfix/access_client,
check_client_access pcre:/usr/local/etc/postfix/access_client.pcre,
reject_unknown_client_hostname,
check_helo_access hash:/usr/local/etc/postfix/access_helo,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname,
check_sender_access hash:/usr/local/etc/postfix/access_sender,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
### reject_unverified_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unverified_recipient,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client combined.njabl.org,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client dul.ru,
reject_rbl_client dynablock.njabl.org,
### reject_rbl_client opm.blitzed.org,
### reject_rhsbl_client blackhole.securitysage.com,
reject_rhsbl_client rhsbl.sorbs.net,
### reject_rhsbl_sender blackhole.securitysage.com,
reject_rhsbl_sender rhsbl.sorbs.net,
permit
smtpd_etrn_restrictions =
permit_mynetworks,
reject
always_bcc=collect@my-domain.ru#For amavisd work with postfix
content_filter=smtp-amavis:[127.0.0.1]:10024
#receive_override_options = no_address_mappings
=======================================================================Помогите пожалуйста, я что-то с этими знаками вопросов в логе ничего сообразить не могу.
>Помогите пожалуйста, я что-то с этими знаками вопросов в логе ничего сообразить
>не могу.virtual_maildir_limit_message="Извините, у пользователя закончилось место на диске для получения почты. Попробуйте пожалуйста отправить письмо ему ещё раз позже."
Так ведь почта у этого пользователя постоянно собирается... и к тому же du -h /USER_MAIL_DIR говорит о сотнях килобайт... :(
Ну а если всё таки так оно и есть, то как проблему решить? И можно ли отдельным пользователям выделять квоту на почтовый ящик больше? Как очистить место у этого пользователя?
ну проверить оно/не оно просто - поменяйте временно сообщение на англоязычное и посмотрите лог.
Да, отдельная квота на пользователя возможна (собственно это и есть суть VDA патча). Настраивать через virtual_mailbox_limit_maps
Как грамотно почистить ящик у давекота я не знаю(
Удалил maildirsize файлик в папке с почтой пользователя, вроде всё заработало. А можно ещё вопрос, как избавиться от того что на этот адрес письма дублируются по 2 штуки?
>можно ещё вопрос, как избавиться от того что на этот адрес
>письма дублируются по 2 штуки?Лог в 1м сообщении чуть обрезан с верху...
но очень похоже на то, что мэпинг адресов работает дважды - после приема письма от пользователя и после фильтрации амависом. Покажите описание filter из master.сfЗЫ: хорошоб еще сделать как он говорит...
warning: do not list domain my-domain.ru in BOTH mydestination and virtual_mailbox_domains
>Покажите описание filter из master.сfПожалуйста, вот:
smtp inet n - n - - smtpd -v
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o smtp_fallback_relay=
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scachesmtp-amavis unix - - n - 4 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
>ЗЫ: хорошоб еще сделать как он говорит...
>warning: do not list domain my-domain.ru in BOTH mydestination and virtual_mailbox_domainsВсё, с этим разобрался
>[оверквотинг удален]
> -o smtpd_restriction_classes=
> -o smtpd_client_restrictions=
> -o smtpd_helo_restrictions=
> -o smtpd_sender_restrictions=
> -o smtpd_recipient_restrictions=permit_mynetworks,reject
> -o mynetworks=127.0.0.0/8
> -o strict_rfc821_envelopes=yes
> -o smtpd_error_sleep_time=0
> -o smtpd_soft_error_limit=1001
> -o smtpd_hard_error_limit=1000-o receive_override_options=no_address_mappings
>[оверквотинг удален]
>> -o smtpd_helo_restrictions=
>> -o smtpd_sender_restrictions=
>> -o smtpd_recipient_restrictions=permit_mynetworks,reject
>> -o mynetworks=127.0.0.0/8
>> -o strict_rfc821_envelopes=yes
>> -o smtpd_error_sleep_time=0
>> -o smtpd_soft_error_limit=1001
>> -o smtpd_hard_error_limit=1000
>
>-o receive_override_options=no_address_mappingsВсе проблемы решены! Спасибо огромное умный добрый Человек! :)