Postfix - retransmite mensagens geradas localmente, mas aceita mensagens recebidas de GApps para o mesmo domínio

Postfix - retransmite mensagens geradas localmente, mas aceita mensagens recebidas de GApps para o mesmo domínio

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/postfixe fiz muitas modificações no meu arquivo /etc/postfix-outgoing/main.cf, mas as principais são:

  1. Alterado myhostnamepara diferir da instância principal. (caso contrário, o postfix confunde entre eles)
  2. Removidas todas as configurações específicas do dovecot.
  3. Altere o diretório de dados.
  4. Certifique-se de que o postfix não tente a entrega local. (através de mydestination, virtual_domains, etc).
  5. Insira o seu relayhost.
  6. Adicionar um segundo ouvinte ao dovecot.conf service authapontando /var/spool/postfix-outgoing/private/authcomo 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.loge ver onde as coisas deram errado.

Referência:http://www.postfix.org/MULTI_INSTANCE_README.html

informação relacionada