我设置了 Postfix,使用 Dovecot 运行,支持 SASL,在 Postgresql 数据库中使用虚拟邮箱,Amavis Clamav 和 Spamassassin 都协同工作
工作 = 我可以向内部和外部 (google) 帐户发送和接收电子邮件。收到电子邮件后,它会存储在虚拟邮箱中 -- /mwdmail/mbox/example.com/[电子邮件保护]/
不工作- 我无法从外部网络远程登录到端口 25 - 当我成功本地远程登录到端口 25 时,我收到“连接被拒绝”的提示,也没有看到 AUTH LOGIN
如何使 Dovecot SASL 工作?
以下是我的设置:
- 我的路由器和 ufw 防火墙在端口 80、433、25、110、143、465、587、993 和 995 上打开
- Postfix 版本是 2.11.0
postconf-m(以下)
btree
cidr
environ
fail
hash
internal
memcache
nis
pcre
pgsql
proxy
regexp
socketmap
static
tcp
texthash
unix
postconf-a = 鸽舍
postconf-n以下:——出于隐私考虑,我的域名已更改为 example.com
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
disable_vrfy_command = yes
dovecot_destination_recipient_limit = 1
enable_original_recipient = no
header_checks = regexp:/etc/postfix/header_checks
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = $virtual_mailbox_maps
local_transport = virtual
mail_owner = mwdpost
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = example.com, localhost.com, localhost
mydomain = example.com
myhostname = example.com
mynetworks = 192.168.0.0/24, 127.0.0.0/8
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
recipient_delimiter = +
relay_domains = proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
relayhost =
setgid_group = mwdpdrop
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = permit_sasl_authenticated, reject_rbl_client zen.spamhaus.org, reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_relay_restrictions = reject_sender_login_mismatch, permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = hash:/etc/postfix/sasl/controlled_envelope_senders
smtpd_sender_restrictions = permit_sasl_authenticated, reject_unknown_sender_domain, permit_mynetworks
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_alias_map.cf
virtual_gid_maps = static:3205
virtual_mailbox_base = /mwdmail/mbox
virtual_mailbox_domains = proxy:pgsql:/etc/postfix/pgsql/virtual_domain_map.cf
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_map.cf
virtual_minimum_uid = 3205
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = static:3205
Postfix 主控(postconf -M)文件 =
# SMTP on port 25, unencrypted.
smtp inet n - - - - smtpd -v
smtpd pass - - - - - smtpd -v
# SMTP with TLS on port 587.
submission inet n - - - - smtpd -v
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/sasl/controlled_envelope_senders
# -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
# SMTP over SSL on port 465.
smtps inet n - - - - smtpd -v
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject
-o smtpd_sasl_security_options=noanonymous,noplaintext
-o smtpd_sasl_tls_security_options=noanonymous
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
-o content_filter=
-o receive_override_options=no_header_body_checks
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
dovecot unix - n n - - pipe
flags=DRhu user=mwdvm:mwdvm argv=/usr/bin/vendor_perl/spamc -f -e /usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
# The next two entries integrate with Amavis for anti-virus/spam checks.
amavis unix - - - - 3 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=192.168.0.0/32,127.0.0.0/8
# -o mynetworks=0.0.0.0
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
#
#
##############
# Integration with Dovecot - hand mail over to it for local delivery, and
# run the process under the vmail user and mail group.
dovecot unix - n n - - pipe
flags=DRhu user=mwdvm:mwdvm argv=/usr/lib/dovecot/dovecot-lda -d $(recipient)
更新
Anders Klaer——感谢您的更新和提示!
在 master.cf 中添加 smtpd 行并重新加载 postfix但是,当我从同一网络上的另一台机器通过 telnet 端口 25 连接到本地主机和我的内部 IP 地址时,AUTH LOGIN(SASL“已启用”)代码不存在。
参见下面的 MAIL.LOG...
Jan 28 07:41:54 example spamd[1860]: spamd: server hit by SIGHUP, restarting
Jan 28 07:41:54 example spamd[1860]: spamd: child [1864] killed successfully: interrupted, signal 2 (0002)
Jan 28 07:41:54 example spamd[1860]: spamd: child [1863] killed successfully: interrupted, signal 2 (0002)
Jan 28 07:41:54 example spamd[1860]: logger: removing stderr method
Jan 28 07:41:54 example postfix/pickup[15760]: C407622208B: uid=0 from=<root>
Jan 28 07:41:55 example postfix/cleanup[16769]: C407622208B: message-id=<[email protected]>
Jan 28 07:41:55 example postfix/qmgr[2413]: C407622208B: from=<[email protected]>, size=1042, nrcpt=1 (queue active)
Jan 28 07:41:55 example postfix/trivial-rewrite[16772]: warning: do not list domain example.com in BOTH mydestination and virtual_mailbox_domains
Jan 28 07:41:55 example postfix/virtual[16775]: C407622208B: to=<[email protected]>, relay=virtual, delay=0.78, delays=0.54/0.09/0/0.15, dsn=2.0.0, status=sent (delivered to maildir)
Jan 28 07:41:55 example postfix/qmgr[2413]: C407622208B: removed
Jan 28 07:41:59 example spamd[16768]: spamd: server started on port 783/tcp (running version 3.3.2)
Jan 28 07:41:59 example spamd[16768]: spamd: server pid: 16768
Jan 28 07:41:59 example spamd[16768]: spamd: server successfully spawned child process, pid 16780
Jan 28 07:42:00 example spamd[16768]: spamd: server successfully spawned child process, pid 16781
Jan 28 07:42:00 example spamd[16768]: prefork: child states: IS
Jan 28 07:42:00 example spamd[16768]: prefork: child states: II
Jan 29 03:21:51 example postfix/postfix-script[26285]: error: unknown command: 'quiet-reload'
Jan 29 03:21:51 example postfix/postfix-script[26286]: fatal: usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration)
Jan 29 03:22:02 example postfix/postfix-script[26298]: refreshing the Postfix mail system
Jan 29 03:22:02 example postfix/master[2411]: reload -- version 2.11.0, configuration /etc/postfix
Jan 29 03:22:20 example postfix/smtpd[26308]: name_mask: ipv4
Jan 29 03:22:20 example postfix/smtpd[26308]: inet_addr_local: configured 3 IPv4 addresses
Jan 29 03:22:20 example postfix/smtpd[26308]: process generation: 45 (45)
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: mynetworks ~? debug_peer_list
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: mynetworks ~? fast_flush_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: mynetworks ~? mynetworks
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: relay_domains ~? debug_peer_list
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: relay_domains ~? fast_flush_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: relay_domains ~? mynetworks
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: relay_domains ~? permit_mx_backup_networks
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: relay_domains ~? qmqpd_authorized_clients
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: relay_domains ~? relay_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: connect to subsystem private/proxymap
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr request = open
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr table = pgsql:/etc/postfix/pgsql/relay_domains.cf
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr flags = 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: flags
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: flags
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 16
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: (list terminator)
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: (end)
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_proxy_open: connect to map=pgsql:/etc/postfix/pgsql/relay_domains.cf status=0 server_flags=fixed
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_open: proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: permit_mx_backup_networks ~? debug_peer_list
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: permit_mx_backup_networks ~? fast_flush_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: permit_mx_backup_networks ~? mynetworks
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: permit_mx_backup_networks ~? permit_mx_backup_networks
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr request = open
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr table = pgsql:/etc/postfix/pgsql/virtual_mailbox_map.cf
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr flags = 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: flags
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: flags
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 16
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: (list terminator)
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: (end)
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_proxy_open: connect to map=pgsql:/etc/postfix/pgsql/virtual_mailbox_map.cf status=0 server_flags=fixed
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_open: proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_map.cf
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr request = open
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr table = pgsql:/etc/postfix/pgsql/virtual_alias_map.cf
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr flags = 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: flags
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: flags
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 16
Jan 29 03:22:20 example postfix/smtpd[26308]: private/proxymap socket: wanted attribute: (list terminator)
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: (end)
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_proxy_open: connect to map=pgsql:/etc/postfix/pgsql/virtual_alias_map.cf status=0 server_flags=fixed
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_open: proxy:pgsql:/etc/postfix/pgsql/virtual_alias_map.cf
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? debug_peer_list
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? fast_flush_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? mynetworks
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? permit_mx_backup_networks
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? qmqpd_authorized_clients
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? relay_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: smtpd_access_maps ~? smtpd_access_maps
Jan 29 03:22:20 example postfix/smtpd[26308]: Compiled against Berkeley DB: 5.1.25?
Jan 29 03:22:20 example postfix/smtpd[26308]: Run-time linked against Berkeley DB: 5.1.25?
Jan 29 03:22:20 example postfix/smtpd[26308]: dict_open: hash:/etc/postfix/sasl/controlled_envelope_senders
Jan 29 03:22:20 example postfix/smtpd[26308]: unknown_helo_hostname_tempfail_action = defer_if_permit
Jan 29 03:22:20 example postfix/smtpd[26308]: unknown_address_tempfail_action = defer_if_permit
Jan 29 03:22:20 example postfix/smtpd[26308]: unverified_recipient_tempfail_action = defer_if_permit
Jan 29 03:22:20 example postfix/smtpd[26308]: unverified_sender_tempfail_action = defer_if_permit
Jan 29 03:22:20 example postfix/smtpd[26308]: name_mask: 1
Jan 29 03:22:20 example postfix/smtpd[26308]: auto_clnt_create: transport=local endpoint=private/tlsmgr
Jan 29 03:22:20 example postfix/smtpd[26308]: auto_clnt_open: connected to private/tlsmgr
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr request = seed
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr size = 32
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: seed
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: seed
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: tY2AjIfcnb7dQy7h5HZqAXZra1dZjtiV/wtYGhppqcQ=
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: (list terminator)
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: (end)
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr request = policy
Jan 29 03:22:20 example postfix/smtpd[26308]: send attr cache_type = smtpd
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: status
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: cachable
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: cachable
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 0
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: timeout
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: timeout
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute value: 3600
Jan 29 03:22:20 example postfix/smtpd[26308]: private/tlsmgr: wanted attribute: (list terminator)
Jan 29 03:22:20 example postfix/smtpd[26308]: input attribute name: (end)
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: fast_flush_domains ~? debug_peer_list
Jan 29 03:22:20 example postfix/smtpd[26308]: match_string: fast_flush_domains ~? fast_flush_domains
Jan 29 03:22:20 example postfix/smtpd[26308]: auto_clnt_create: transport=local endpoint=private/anvil
Jan 29 03:22:20 example postfix/smtpd[26308]: connection established
Jan 29 03:22:20 example postfix/smtpd[26308]: master_notify: status 0
Jan 29 03:22:20 example postfix/smtpd[26308]: name_mask: resource
Jan 29 03:22:20 example postfix/smtpd[26308]: name_mask: software
Jan 29 03:22:20 example postfix/smtpd[26308]: connect from example.com[127.0.0.1]
Jan 29 03:22:20 example postfix/smtpd[26308]: match_list_match: example.com: no match
Jan 29 03:22:20 example postfix/smtpd[26308]: match_list_match: 127.0.0.1: no match
Jan 29 03:22:20 example postfix/smtpd[26308]: match_list_match: example.com: no match
Jan 29 03:22:20 example postfix/smtpd[26308]: match_list_match: 127.0.0.1: no match
Jan 29 03:22:20 example postfix/smtpd[26308]: smtp_stream_setup: maxtime=300 enable_deadline=0
Jan 29 03:22:20 example postfix/smtpd[26308]: match_hostname: example.com ~? 192.168.0.0/24
Jan 29 03:22:20 example postfix/smtpd[26308]: match_hostaddr: 127.0.0.1 ~? 192.168.0.0/24
Jan 29 03:22:20 example postfix/smtpd[26308]: match_hostname: example.com ~? 127.0.0.0/8
Jan 29 03:22:20 example postfix/smtpd[26308]: match_hostaddr: 127.0.0.1 ~? 127.0.0.0/8
Jan 29 03:22:20 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 220 example.com ESMTP Postfix
Jan 29 03:22:25 example postfix/smtpd[26308]: < example.com[127.0.0.1]: ehlo mwe
Jan 29 03:22:25 example postfix/smtpd[26308]: match_list_match: example.com: no match
Jan 29 03:22:25 example postfix/smtpd[26308]: match_list_match: 127.0.0.1: no match
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-example.com
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-PIPELINING
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-SIZE 10240000
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-ETRN
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-STARTTLS
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-ENHANCEDSTATUSCODES
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250-8BITMIME
Jan 29 03:22:25 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 250 DSN
Jan 29 03:22:31 example postfix/smtpd[26308]: < example.com[127.0.0.1]: quit
Jan 29 03:22:31 example postfix/smtpd[26308]: > example.com[127.0.0.1]: 221 2.0.0 Bye
Jan 29 03:22:31 example postfix/smtpd[26308]: match_hostname: example.com ~? 192.168.0.0/24
Jan 29 03:22:31 example postfix/smtpd[26308]: match_hostaddr: 127.0.0.1 ~? 192.168.0.0/24
Jan 29 03:22:31 example postfix/smtpd[26308]: match_hostname: example.com ~? 127.0.0.0/8
Jan 29 03:22:31 example postfix/smtpd[26308]: match_hostaddr: 127.0.0.1 ~? 127.0.0.0/8
Jan 29 03:22:31 example postfix/smtpd[26308]: disconnect from example.com[127.0.0.1]
Jan 29 03:22:31 example postfix/smtpd[26308]: master_notify: status 1
Jan 29 03:22:31 example postfix/smtpd[26308]: connection closed
Jan 29 03:22:31 example postfix/smtpd[26308]: proxymap stream disconnect
Jan 29 03:22:31 example postfix/smtpd[26308]: auto_clnt_close: disconnect private/tlsmgr stream
Jan 29 03:24:11 example postfix/smtpd[26308]: idle timeout -- exiting
答案1
据我所知,您的 master.cf 缺少此行。将其放入您的配置中并执行sudo service postfix reload
# /etc/postfix/master.cf
# Listen on port 25.
smtpd pass - - - - - smtpd
要仅在建立 TLS 加密会话后提供 SASL 身份验证,请指定以下内容:
/etc/postfix/main.cf:
smtpd_tls_auth_only = yes
从您的main.cf
设置smtpd_tls_auth_only
为yes
。将其更新为no
并重新加载 Postfix 应该会为您提供 AUTH。