
Aqui está a configuração:
Temos um domínio, meudominio.com. Tudo está em nosso próprio servidor, exceto contas de e-mail gerais que são feitas através do Gmail.
Atualmente o Gmail está definido como o registro MX.
O servidor também possui vários aliases de e-mail necessários para oferecer suporte a rastreadores de bugs e outros. por exemplo[e-mail protegido]|/caminho/para/issuetracker.script
Estou lutando com uma configuração que permite o seguinte, tanto localmente quanto a partir dos clientes de e-mail do usuário.
- guser1 - tem uma conta Gmail e uma conta local
- guser2 - só tem uma conta do Gmail
- bugs - tem um alias de pipe em /etc/aliases para rastreador de problemas
Cenários
- correio para[e-mail protegido]do host local (crons e outros) precisa ir para a conta do Gmail
- correio para[e-mail protegido]do host local
- correio para[e-mail protegido]precisa ser canalizado para o script do rastreador de problemas local
Então, a primeira tentativa foi criar um mapa de transporte. Nesse cenário, nosso servidor seria definido como os e-mails destinados a MX e guser* são enviados para o Gmail. Coloque os usuários do Gmail em um mapa assim:
[email protected] smtp:gmailsmtp:25
[email protected] smtp:gmailsmtp:25
Problemas:
- Ignora extensões como[e-mail protegido]
- Funciona apenas se append_at_myorigin = no (se definido como sim, o Gmail se recusa a se conectar com: E4C7E3E09BA3: to=, relay=none, delay=0.05, delays=0.02/0.01/0.02/0, dsn=4.4.1, status=deferred (conecte-se a gmail-smtp-in.l.google.com[209.85.222.57]:25: Conexão recusada))
- como append_at_myorigin está definido como não, todos os e-mails recebidos têm (remetente desconhecido)
A segunda tentativa foi definir aliases de host local explícitos em /etc/aliases e fazer um encaminhamento amplo de domínio em mydomain. Isso também requer a configuração do servidor local como MX:
root: root@localhost
# transport
mydomain.com smtp:gmailsmtp:25
Problemas: * Se eu criar um mapa de transporte para um domínio que corresponda a "$myhostname", o arquivo de aliases nunca será analisado. Então, quando um usuário local (ou daemon) envia um email como:
mail -s "testing" root < text.txt
Postfix ignora a entrada /etc/alias e mapeia para[e-mail protegido]e tenta enviá-lo para o mapeamento de transporte do Gmail.
Terceira facada:
Crie um subdomínio para os bugs, algo como bugs.mydomain.com. Defina o MX deste domínio para o servidor local e deixe o MX de meudominio.com para o servidor do Gmail.
Problemas: * Não resolve o problema com contas locais. Então, quando o rastreador de bugs responde a um e-mail de[e-mail protegido], ele usa um transporte local e o usuário nunca recebe o email.
% 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
Responder1
Mude para virtual. Leia os documentos VIRTUAIS por postfix. Você tem muito mais controle dessa forma.
principal.cf:
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_maps = hash:/etc/postfix/virtualmailboxmap
virtual_mailbox_domains = mydomain.com
virtual_transport = local:
virtual, liste todos os usuários que você tem
localuser localuser
somealias localuser
guser1 [email protected],guser1
bugs [email protected]
virtualmailboxmap, liste todos os usuários locais, o lado direito não importa!
localuser rhsunused
guser1 rhsunused
transporte:
mydomain.com local:
gmail.mydomain.com smtp:gmailsmtp:25
issuetracker.mydomain.com smtp:[issuetracker ip]:25
Tive isso com um Cyrus: transporte para contas locais. Sei que esta não é uma resposta completa para todas as suas perguntas, mas pode ser um começo.