Eu sei que a maneira de desabilitar toda a entrega local é remover o domínio de "mydestination", o que fará com que todos os e-mails sejam retransmitidos através de qualquer retransmissão que eu configurei. Mas quero que o postfix aceite todas as mensagens do GApps para entrega local no dovecot, mas retransmita todas as mensagens geradas localmente de volta para o GApps.
Ex: Tenho webmail rodando no servidor, usando o postfix local.[e-mail protegido]envia um e-mail para[e-mail protegido]. Se o usuário2 existir localmente, o postfix será entregue localmente, não existe - eu poderia adicionar um retransmissor substituto que enviaria esse e-mail para GApps. Mas quero que o postfix sempre retransmita esses e-mails de volta para o GApps (que enviará esses e-mails downstream de volta ao postfix para entrega local), independentemente da disponibilidade local. Para que eu possa ter uma espécie de modelo cascata.
Eu sei que há muitas perguntas relacionadas a isso (nenhuma resposta específica), mas basicamente o que eu quero é ter caixas de entrada idênticas para os mesmos usuários no Gmail e no pombal local. Encontrei uma solução temporária usando diretamente o GApps SMTP Relay em vez do local para o webmail, mas isso não resolve nada para quem se conecta com IMAP (acabaria tendo que dar a cada usuário acesso ao GApps SMTP).
Responder1
Finalmente consegui que minha configuração funcionasse com múltiplas instâncias do postfixmasegaloehmencionado. Tentei usar o exim4, mas o apt-get install exim4 desinstalou automaticamente o postfix, sem sequer avisar! De qualquer forma, aqui está como fiz funcionar:
#Adds some lines to main.cf enabling multiple instance
postmulti -e init
#Creates a new instance at the directory /etc/postfix-outgoing
postmulti -I postfix-outgoing -G mta -e create
Para meu caso de uso, eu queriaporta25eporta465para ser usado para receber e-mails recebidos do Gmail, mas precisava de postfixsubmissão(executado na porta 587) para uso de saída do MTA. Então eu comentei assim em/etc/postfix/master.cf
#submission inet n - - - - smtpd
e comentouSMTPesmtpsmas acrescentousubmissãoin /etc/postfix-outgoing/master.cf
, para obter algo assim
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no
Copiei o main.cf do ISPConfig padrão /etc/postfix
e fiz muitas modificações no meu arquivo /etc/postfix-outgoing/main.cf
, mas as principais são:
- Alterado
myhostname
para diferir da instância principal. (caso contrário, o postfix confunde entre eles) - Removidas todas as configurações específicas do dovecot.
- Altere o diretório de dados.
- Certifique-se de que o postfix não tente a entrega local. (através de mydestination, virtual_domains, etc).
- Insira o seu
relayhost
. - Adicionar um segundo ouvinte ao dovecot.conf
service auth
apontando/var/spool/postfix-outgoing/private/auth
como referência direta ao caminho original não funcionou para mim. Ou você pode tentar usar - Autenticação Dovecot via TCP.
Por fim, habilite a instância:
postmulti -i postfix-outgoing -x postconf -e \
"master_service_disable ="
postmulti -i postfix-outgoing -e enable
postmulti -i postfix-outgoing -p start
tail -f /var/log/mail.log
e ver onde as coisas deram errado.
Referência:http://www.postfix.org/MULTI_INSTANCE_README.html