Postfix

Postfix + Dovecot 登錄僅在 Imap 中失敗

  • February 13, 2017

提前抱歉,因為我確定問題很愚蠢,但是兩天后嘗試了 Google 和 Serverfault 的不同配置,它仍然無法正常工作。我是 Postfix/Dovecot 的新手

升級 Debian 後,我(第一次)用 Dovecot 配置了 Postfix。 Pop3 現在可以正常工作,但 Imap 不能(登錄失敗)

main.cf

   # See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = SERVERNAME
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = SERVERNAME.COM, localhost, localhost.localdomain
mynetworks = 127.0.0.0/8
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, check_sender_access hash:/etc/postfix/restricted_senders, permit_sasl_authenticated, reject_unauth_destination permit_inet_interfaces
#smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, permit_inet_interfaces
#smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = no
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
home_mailbox = Maildir/

smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,
permit_sasl_authenticated,
                         reject_unauth_pipelining,
                         reject_non_fqdn_sender,
                         reject_non_fqdn_recipient,
                         reject_unknown_sender_domain,
                         reject_unknown_recipient_domain,
                         reject_unauth_destination,
                         reject_rbl_client sbl.spamhaus.org,
                         reject_rbl_client blackholes.wirehub.net,
                         reject_rbl_client bl.spamcop.net,
                         permit


content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
html_directory = /usr/share/doc/postfix/html
message_size_limit = 30720000
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_alias_domains =
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
#relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
#virtual_create_maildirsize = yes
#virtual_maildir_extended = yes
#virtual_mailbox_limit_inbox = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
#virtual_mailbox_limit_override = yes
#virtual_maildir_limit_message = "The user you are trying to reach is over quota."
#virtual_overquota_bounce = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
#smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
# smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = maildrop
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks

## local ###
disable_vrfy_command = yes
smtpd_banner = $myhostname
#smtpd_client_restrictions = permit_mynetworks permit_inet_interfaces
smtpd_tls_security_level = may
smtpd_sasl_auth_enable = yes
smtpd_client_restrictions = permit_mynetworks permit_inet_interfaces permit_tls_all_clientcerts



smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
#smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destinatination

postconf -a

cyrus
dovecot

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
body_checks = regexp:/etc/postfix/body_checks
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = amavis:[127.0.0.1]:10024
disable_vrfy_command = yes
header_checks = regexp:/etc/postfix/header_checks
home_mailbox = Maildir/
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
inet_protocols = all
mailbox_command =
mailbox_size_limit = 0
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
message_size_limit = 30720000
mime_header_checks = regexp:/etc/postfix/mime_header_checks
mydestination = SERVERNAME.COM, localhost, localhost.localdomain
myhostname = SERVERNAME.COM
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
nested_header_checks = regexp:/etc/postfix/nested_header_checks
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
readme_directory = /usr/share/doc/postfix
receive_override_options = no_address_mappings
recipient_delimiter = +
smtp_tls_note_starttls_offer = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = no
smtpd_banner = $myhostname
smtpd_client_restrictions = permit_mynetworks permit_inet_interfaces permit_tls_all_clientcerts
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.wirehub.net, reject_rbl_client bl.spamcop.net, permit
smtpd_recipient_restrictions = permit_mynetworks, check_sender_access hash:/etc/postfix/restricted_senders, permit_sasl_authenticated, reject_unauth_destination permit_inet_interfaces
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = no
tls_random_source = dev:/dev/urandom
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_transport = maildrop
virtual_uid_maps = static:5000

var/log/mail.info

2 月 11 日 22:02:00 servername dovecot: auth-worker(9414): pam(user@servername.com,XXX): pam_authenticate() failed: 身份驗證失敗(密碼不匹配?)(給定密碼:xxx)2 月 11 日 22 日: 02:02 servername dovecot:imap-login:斷開連接(身份驗證失敗,26 秒內嘗試 3 次):user=,method=PLAIN,rip=XXX,lip=XXX,session=

好的,解決了。問題是 Pop3 仍在使用舊程序 Courier(甚至日誌顯示在 Dovecot 上…)和 Imap 在 Dovecot 上。Dovecot 很難配置,因為郵件 bd 是手工製作的,所以我最後安裝了 courier-imap(即刪除 Dovecot-imap)並且伺服器恢復了。

引用自:https://serverfault.com/questions/832058