外部 postfix 转发到 zimbra 服务器

外部 postfix 转发到 zimbra 服务器

我想从我当前的邮件服务器迁移(旧服务器) 为我的域名我的域名. old_server 设置是 Postfix+LDAP+Cyrus。

现在我想将我的域名邮件迁移到 Zimbra 服务器(津布拉),但我正在考虑在第一阶段让当前邮件服务器继续工作,然后只将部分电子邮件地址转发到 zimbra 服务器。zimbra 似乎在其文档中将其称为“边缘 MTA”。

当前配置

 mydomain.com 
             MX: old_server
<---------- smtp send
----------> smtp receive

新配置

 mydomain.com 
             MX: old_server                      zimbra
<------------------------------------------- smtp send
----------> smtp receive ---- forward ---->  smtp receive 

我需要以下内容:

  1. old_server 像以前一样接收我域名的邮件,但对于某些电子邮件地址,我希望它们被发送到 zimbra 服务器。我应该能够确定哪些电子邮件地址将被转发。
  2. 我希望避免由于此设置而可能出现的来自 mydomain.com 的邮件被错误地检测为垃圾邮件。

问题:

  • 我应该如何在 old_server 上配置 postfix 来支持此邮件转发?
  • 为了避免错误的垃圾邮件检测,我可以让 zimbra 发送来自 mydomain.com 的外发邮件吗?还是应该使用 old_server?
  • 为了避免我的外发邮件被其他服务器标记为垃圾邮件,我需要做些什么额外的事情吗?

带有一些混淆的附加信息(postconf -n):

alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
debug_peer_level = 10
html_directory = /usr/share/doc/postfix-2.4.5-documentation/html
local_recipient_maps = ldap:/etc/postfix/ldapvirtual.cf hash:/etc/postfix/virtual_alias
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 16777216
mydestination = $mydomain, mail.$mydomain, 
mydomain = mydomain.com
myhostname = mail.mydomain.com
mynetworks = 127.0.0.0/8 212.XX.XXX.XX/28
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.4.5-documentation/readme
recipient_delimiter = +
sample_directory = /etc/postfix
sender_canonical_maps = ldap:/etc/postfix/ldapalias.cf
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = ldap:ldapvirtual
smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtpd_tls_cert_file = /etc/pki/tls/certs/mailserver.pem
smtpd_tls_key_file = /etc/pki/tls/certs/mailserver.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = ldap:/etc/postfix/ldapvirtual.cf hash:/etc/postfix/virtual_alias

答案1

您可以设置传输查找表来覆盖邮件传递的下一跳。

/etc/postfix/main.cf

transport_maps =
       hash:/etc/postfix/mytransport_override

/etc/postfix/mytransport_override你写

migrated_address1@yourdomain smtp:zimbra.yourserver
migrated_address2@yourdomain smtp:zimbra.yourserver
another__migrated@yourdomain smtp:[zimbra.yourserver]

然后postmap hash:/etc/postfix/mytransport_override

我认为不存在垃圾邮件或将您的邮件视为垃圾邮件的问题(只要您的 DNS 条目(如 PTR 记录、A 记录、MX 记录)没有问题)。

编辑

评论中说得好:如果要避免 MX 记录查找,请在主机名周围添加括号。示例在最后一行。通常,使用括号是一种很好的做法,可以避免意外。

相关内容