混合Gmail MX +后缀本地帐户

这是设置:

我们有一个域名,mydomain.com。 一切都在我们自己的服务器,除了通过Gmail的一般电子邮件帐户。

目前gmail被设置为MXlogging。

该服务器还有各种电子邮件别名,它需要支持错误跟踪等。 例如[email protected] | /path/to/issuetracker.script

我正在努力设置,允许以下,本地和用户的电子邮件客户端。

  1. guser1 – 有一个Gmail帐户和一个本地帐户
  2. guser2 – 只有一个Gmail帐户
  3. 错误 – 在问题跟踪器的/ etc / aliases中有一个pipe道别名

scheme

所以,第一个刺正在创build一个交通地图。 在这种情况下,我们的服务器将被设置为MX,并且guser *指定的电子邮件被发送到gmail。 把Gmail用户放在地图上,如下所示:

[email protected] smtp:gmailsmtp:25 [email protected] smtp:gmailsmtp:25 

问题:

  • 忽略扩展名,例如[email protected]
  • 只有当append_at_myorigin = no(如果设置为yes,gmail拒绝连接:E4C7E3E09BA3:= =,relay = none,delay = 0.05,delay = 0.02 / 0.01 / 0.02 / 0,dsn = 4.4.1,status = deferred (连接到gmail-smtp-in.l.google.com [209.85.222.57]:25:连接被拒绝))
  • 由于append_at_myorigin设置为否,所有收到的电子邮件都有(未知发件人)

第二步是在/ etc / aliases中设置明确的本地主机别名,并在mydomain上进行一个域范围的前进。 这也需要将本地服务器设置为MX:

 root: root@localhost # transport mydomain.com smtp:gmailsmtp:25 

问题:*如果我为与“$ myhostname”相匹配的域创build传输映射,那么别名文件将不会被parsing。 所以,当一个本地用户(或守护进程)发送一个电子邮件,如:

 mail -s "testing" root < text.txt 

Postfix忽略/ etc / alias项并映射到[email protected]并尝试将其发送到gmail传输映射。

第三刺:

为这些错误创build一个子域名,比如bugs.mydomain.com。 将此域的MX设置为本地服务器,并将mydomain.com的MX保留至Gmail服务器。

问题:*不能解决本地帐户的问题。 所以当错误跟踪器响应来自[email protected]的电子邮件时,它使用本地传输,用户永远不会收到电子邮件。

 % postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_at_myorigin = no append_dot_mydomain = no biff = no config_directory = /etc/postfix inet_interfaces = all mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 mydestination = $myhostname, localhost.$myhostname, localhost myhostname = mydomain.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relayhost = smtp_tls_cert_file = /etc/ssl/certs/kspace.pem smtp_tls_enforce_peername = no smtp_tls_key_file = /etc/ssl/certs/kspace.pem smtp_tls_note_starttls_offer = yes smtp_tls_scert_verifydepth = 5 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_use_tls = yes smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_recipient_restrictions = permit_mynetworks, reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination smtpd_tls_ask_ccert = yes smtpd_tls_req_ccert = no smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache tls_random_source = dev:/dev/urandom transport_maps = hash:/etc/postfix/transport 

切换到虚拟。 通过postfix阅读VIRTUAL Docs。 你有更多的控制方式。

main.cf:

 virtual_alias_maps = hash:/etc/postfix/virtual virtual_mailbox_maps = hash:/etc/postfix/virtualmailboxmap virtual_mailbox_domains = mydomain.com virtual_transport = local: 

虚拟,列出你拥有的所有用户

 localuser localuser somealias localuser guser1 [email protected],guser1 bugs [email protected] 

virtualmailboxmap,列出所有本地用户,右侧无所谓!

  localuser rhsunused guser1 rhsunused 

运输:

  mydomain.com local: gmail.mydomain.com smtp:gmailsmtp:25 issuetracker.mydomain.com smtp:[issuetracker ip]:25 

我有一个塞勒斯:本地帐户运输。 我知道这不是你所有问题的完整答案,但可能是一个开始。