Olá galera do VOL,
Eu estava com um problemão de restringir um domínio interno no
Zimbra 5.0 a não enviar e-mail externo, revirei a net e nada, até abri um tópico aqui no VOL sobre o assunto e depois vi que tinha outros com o mesmo problema.
Consegui resolver esse problemão e vou disponibilizar pra quem estiver precisando.
Cenário: Servidor de e-mail
Debian 4.0 + Zimbra 5.0 (tentei instalar o Zimbra 6.0 no Lenny e no Etch e tive problemas, se alguém conseguiu poste aqui no VOL).
Domínio 1: empresa.com.br - envia e recebe e-mail externo e interno
Domínio 2: empresa2.com.br - envia e recebe e-mail externo e interno
Domínio 3: empresa.intranet - só envia e recebe e-mail interno e para os dois domínios acima (dominio1 e dominio2)
Nesse caso não teremos problemas do domínio 3 receber e-mail externo, pois ele não é um domínio válido somente interno, então não precisamos nos preocupar com isso.
Do Zimbra 5 em diante (não sei nos anteriores), se você alterar na mão o arquivo
main.cf do
Postfix (/opt/zimbra/postfix/conf/main.cf), toda vez que reiniciar o Zimbra ele volta as configurações que estão configuradas via console administrativo, então teremos que modificar outros arquivos.
Mãos a obra, a modificação do arquivo
zmmta.cf só consegui efetuar como root, o resto pode ser com o usuário zimbra.
1. Vamos criar o arquivo
dominio_restrito, que conterá o domínio ou domínios a bloquear o envio externo.
# su zimbra
$ cd /opt/zimbra/conf
$ echo "empresa.intranet restrict_tpmail" > dominio_restrito
Depois de criado o arquivo, dê esse comando para reconfiguração do Postfix:
postmap dominio_restrito
2. Vamos criar agora o arquivo com os domínios, onde o domínio empresa.intranet (dominio_restrito) poderá enviar e receber e-mail.
cd /opt/zimbra/conf
$ echo "empresa.com.br OK" > dominios
$ echo "empresa2.com.br OK" >> dominios
E rodar novamente o comando, mas agora no arquivo "dominios":
postmap dominios
3. Inserir no arquivo
zmmta.cf as linhas abaixo (como root se não der certo com o usuário zimbra):
# vi /opt/zimbra/conf/zmmta.cf
Abaixo da linha: POSTCONF virtual_transport LOCAL postfix_virtual_transport
Inserir essas linhas:
POSTCONF smtpd_sender_restrictions FILE postfix_sender_restrictions.cf
POSTCONF smtpd_restriction_classes restrict_tpmail
POSTCONF restrict_tpmail FILE postfix_restrict_tpmail.cf
4. E por último, passar as últimas configurações ao Postfix.
# su zimbra
$ cd /opt/zimbra/conf
echo "check_sender_access hash:/opt/zimbra/conf/dominio_restrito" > postfix_sender_restrictions.cf
echo "check_recipient_access hash:/opt/zimbra/conf/dominios, reject" >> postfix_restrict_tpmail.cf
5. Dar um "
zmcontrol stop" e "
zmcontrol start" para validar as configurações.
É isso aí galera, espero ter tirado a dor de cabeça de muitos admins.
Referência:
Restrict sending to certain domains - Zimbra :: Wiki