postfix-mta - 后缀虚拟域地址不起作用
问题描述
我有一个运行 Ubuntu 20.04 LTS 并安装了 postfix 的 VPS。使用真实主机名和后缀发送电子邮件非常有效,但从外部(如 gmail)接收邮件到虚拟地址将无法正常工作。
真实主机名邮箱(user1@domain.name.net)从外部接收电子邮件正常。
将服务器内的邮件发送到虚拟地址也可以。
echo "test message" | mailx -s 'test subject' user1@mailserver.com
从 gmail 发送电子邮件会出现“中继访问”错误。
Mail Delivery Subsystem: <mailer-daemon@googlemail.com>
Subject: Delivery Status notification (Failure)
554 5.7.1 <user1@mailserver.com>: Relay access denied
服务器主机名
domain.name.net
MX记录
dig mailserver.com mx
; <<>> DiG 9.16.1-Ubuntu <<>> mailserver.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35230
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;mailserver.com. IN MX
;; ANSWER SECTION:
mailserver.com. 3600 IN MX 10 mail.vpshost.com.
;; Query time: 43 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: su syys 20 16:45:47 CEST 2020
;; MSG SIZE rcvd: 68
/etc/postfix/main.cf
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_security_level = may
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destinati>
myhostname = domain.name.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = domain.name.net, localhost.name.net, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
mailbox_command =
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_dest>
smtpd_tls_auth_only = no
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
virtual_alias_domains = mailserver.com
virtual_alias_maps = hash:/etc/postfix/virtual
/etc/postfix/虚拟
### mailserver.com aliases ###
virtual-alias.domain anything
info@mailserver.com user1
user1@mailserver.com user1
/etc/别名
# See man 5 aliases for format
postmaster: user1
user.name: user1
解决方案
现在解决了。我们在 VPS 提供商方面没有任何 MX 记录。添加正确的 ip+域记录后,一切正常。
推荐阅读
- react-native - React Native redux 使用连接和存储在同一个组件中
- python - 将一些包从基本环境克隆到另一个
- flutter - 如何在 textField 小部件上快速输入?
- angular - 如何在 Angular 组件中模拟 ngrx 动作?
- python-3.x - 监控 WriteToBigQuery
- systemc - SystemC中定点溢出的自动警告
- java - 如何理解 pdf 表单标志?
- eclipse - 如何删除 Eclipse JSP 文件中突出显示的行
- ios - 在 iOS 应用中获取所有选定的辅助功能选项
- c# - 从选定的文件路径获取光盘的卷标 c# winform