Postfix+Dovecot邮件服务器外网无法发送邮件的问题求助
Postfix+Dovecot邮件服务器外网无法发送邮件的问题求助
我最近在VPS上搭建了Postfix+Dovecot邮件服务器,在家用网络环境下(该网段已经配置到mynetworks里),收发邮件都正常。但一旦离开家在外网环境,只能接收邮件,没法发送——这完全不是我想要的效果,毕竟在外网时才更需要发邮件。
下面是我的配置文件,麻烦大家帮忙看看哪里出问题了:
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 (Ubuntu) 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 = no # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on # fresh installs. compatibility_level = 2 #Mail filter #milter_default_action = accept #milter_protocol = 6 #smtpd_milters = unix:/var/run/clamav/clamav-milter #non_smtpd_milters = unix:/var/run/clamav/clamav-milter # TLS parameters smtpd_tls_cert_file=/etc/letsencrypt/live/mail.myserver.dev/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/mail.myserver.dev/privkey.pem smtpd_tls_security_level=encrypt smtpd_use_tls = yes smtpd_tls_auth_only = yes smtp_tls_CApath=/etc/ssl/certs smtp_tls_security_level=encrypt smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination mydomain = myserver.dev myhostname = $mydomain alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = localhost.localdomain localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 123.456.789.159/32 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all virtual_mailbox_domains = myserver.dev virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_mailbox_base = /var/vmail virtual_uid_maps = hash:/etc/postfix/virtual_uid virtual_gid_maps = hash:/etc/postfix/virtual_gid smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_tls_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_client_connection_count_limit = 10 smtpd_client_connection_rate_limit = 30 smtpd_error_sleep_time = 1s smtpd_soft_error_limit = 10 smtpd_hard_error_limit = 20
master.cf配置
smtp inet n - y - - smtpd #smtp inet n - y - 1 postscreen #smtpd pass - - y - - smtpd #dnsblog unix - - y - 0 dnsblog #tlsproxy unix - - y - 0 tlsproxy submission inet n - n - - smtpd -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/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 #submission inet n - y - - smtpd
错误日志
之前遇到的错误:
May 26 11:57:36 vmi1240278 postfix/smtpd[1164363]: connect from unknown[XX.XXX.XX.XX] May 26 11:57:37 vmi1240278 postfix/smtpd[1164363]: NOQUEUE: reject: RCPT from unknown[XX.XXX.XX.XX]: 554 5.7.1 <mymail@gmail.com>: Relay access denied; from=<me@myserver.dev> to=<mymail@gmail.com> proto=ESMTP helo=<smtpclient.apple> May 26 11:57:37 vmi1240278 postfix/smtpd[1164363]: disconnect from unknown[XX.XXX.XX.XX] ehlo=2 starttls=1 mail=1 rcpt=0/1 quit=1 commands=5/6
现在修改了一些配置(具体改了啥我记不清了),出现了新错误:
May 26 16:28:33 vmi1240278 postfix/smtpd[1177893]: connect from unknown[XX.XXX.XX.XX] May 26 16:28:33 vmi1240278 postfix/smtpd[1177893]: NOQUEUE: reject: RCPT from unknown[XX.XXX.XX.XX]: 554 5.7.1 <unknown[XX.XXX.XX.XX]>: Client host rejected: Access denied; from=<me@myserver.dev> to=<mymail@gmail.com> proto=ESMTP helo=<smtpclient.apple> May 26 16:28:33 vmi1240278 postfix/smtpd[1177893]: disconnect from unknown[XX.XXX.XX.XX] ehlo=2 starttls=1 mail=1 rcpt=0/1 quit=1 commands=5/6
额外信息
用邮件应用的连接检查工具看到:
- SMTP:已连接,无需验证
- IMAP:已连接并验证
对比Gmail的配置,它的SMTP和IMAP都能正常完成验证。
麻烦各位大佬帮忙看看问题出在哪,感谢!
备注:内容来源于stack exchange,提问作者Tsetsi
相关产品推荐
相关产品推荐

