Вот установка:
У нас есть домен mydomain.com. Все находится на нашем собственном сервере, кроме общих учетных записей электронной почты, которые проходят через Gmail.
В настоящее время Gmail установлен как запись MX.
Сервер также имеет различные псевдонимы электронной почты, необходимые для поддержки трекеров ошибок и т. П. например bugs@mydomain.com | /path/to/issuetracker.script
Я борюсь с настройкой, которая позволяет следующее, как локально, так и из почтовых клиентов пользователя.
Сценарии
Итак, первым ударом было создание транспортной карты. В этом сценарии наш сервер будет настроен как MX, а предназначенные для пользователя письма * отправляются в Gmail. Поместите пользователей Gmail на карту следующим образом:
guser1@mydomain.com smtp:gmailsmtp:25
guser2@mydomain.com smtp:gmailsmtp:25
Проблемы:
Второй удар заключался в том, чтобы установить явные псевдонимы localhost в / etc / aliases и сделать переадресацию домена на mydomain. Это также требует настройки локального сервера как MX:
root: root@localhost
# transport
mydomain.com smtp:gmailsmtp:25
Проблемы: * Если я создаю транспортную карту для домена, который соответствует "$ myhostname", файл псевдонимов никогда не анализируется. Поэтому, когда локальный пользователь (или демон) отправляет электронное письмо вроде:
mail -s "testing" root < text.txt
Postfix игнорирует запись / etc / alias и сопоставляется с root@mydomain.com и пытается отправить его в сопоставление транспорта gmail.
Третий удар:
Создайте поддомен для ошибок, например bugs.mydomain.com. Установите MX для этого домена на локальный сервер и оставьте MX для mydomain.com серверу Gmail.
Проблемы: * Не решает проблему с локальными аккаунтами. Поэтому, когда трекер ошибок отвечает на письмо от guser1@mydomain.com, он использует локальный транспорт, и пользователь никогда не получает письмо.
% 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
Переключитесь на виртуальный. Читайте ВИРТУАЛЬНЫЕ Документы по постфиксу. Так у вас будет намного больше контроля.
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 guser1@gmail.mydomain.com,guser1
bugs issuetracker@issuetracker.mydomain.com
virtualmailboxmap, список всех локальных пользователей, правая сторона не имеет значения!
localuser rhsunused
guser1 rhsunused
транспорт:
mydomain.com local:
gmail.mydomain.com smtp:gmailsmtp:25
issuetracker.mydomain.com smtp:[issuetracker ip]:25
У меня это было с cyrus: transport для локальных учетных записей. Я знаю, что это не полный ответ на все ваши вопросы, но это может быть началом.