这是设置:
我们有一个域名,mydomain.com。 一切都在我们自己的服务器,除了通过Gmail的一般电子邮件帐户。
目前gmail被设置为MXlogging。
该服务器还有各种电子邮件别名,它需要支持错误跟踪等。 例如[email protected] | /path/to/issuetracker.script
我正在努力设置,允许以下,本地和用户的电子邮件客户端。
scheme
所以,第一个刺正在创build一个交通地图。 在这种情况下,我们的服务器将被设置为MX,并且guser *指定的电子邮件被发送到gmail。 把Gmail用户放在地图上,如下所示:
[email protected] smtp:gmailsmtp:25 [email protected] smtp:gmailsmtp:25
问题:
第二步是在/ 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
我有一个塞勒斯:本地帐户运输。 我知道这不是你所有问题的完整答案,但可能是一个开始。