Olá !
Anteriormente, eu publiquei um artigo (https://respirandolinux.wordpress.com/2013/09/20/postfix-contornando-501-syntax-helo-hostname/) sobre como contornar o erro de sintaxe quando clientes remotos enviam o comando HELO/EHLO de forma incorreta, principalmente sem inserir o hostname após o comando. Utilizando o procedimento do meu artigo anterior, não será mais possível aplicar restrições na etapa HELO/EHLO, uma vez que independentemente da entrada, o resultado sempre será “OK”.
É muito comum quando temos um servidor SMTP que será utilizado por aplicações, muitos comandos serem enviados com a sintaxe incorreta ou até mesmo estas aplicações enviarem comandos inválidos. Para contornar este problema, podemos utilizar o parâmetro “smtpd_command_filter” no Postfix.
A diretiva “smtpd_command_filter” (disponível a partir da versão 2.7) é descrita na documentação do Postfix como um último recurso para contornar clientes que enviam comandos incorretos ou inválidos de fato. Apesar das modificações que serão aplicadas, é possível aplicar restrições HELO após utilizar esse parâmetro.
Vejamos um exemplo que pode ser utilizado para contornar clientes que enviam o HELO/EHLO sem estar seguido do FQDN:
smtpd_command_filter = pcre:/etc/postfic/command_filters
Conteúdo do arquivo:
/^HELO\s*$/ HELO nome.desejado
/^EHLO\s*$/ EHLO nome.desejado
Desta forma, quando um cliente remoto enviar o HELO/EHLO sem estar seguindo do hostname, este comando será substituído por “HELO/EHLO nome.desejado”.
No log será exibida uma entrada conforme abaixo sempre que um comando por modificado pelo Postfix.:
replacing client command “HELO” with “HELO domain.invalid”
Fabio boa tarde, fiz a instalação do amavis seguindo seu tutorial, sóque está dando um erro mail tranport unavaliable, vc sabe oque está faltando?
Olá Leonardo, tudo bem? Poderia me encaminhar o trecho do log?
Obrigado.
ov 17 15:16:45 mx postfix/qmgr[16524]: 6E21D209AB: from=, size=23272, nrcpt=1 (queue active)
Nov 17 15:16:45 mx postfix/qmgr[16524]: warning: connect to transport private/amavis: Connection refused
Nov 17 15:16:45 mx postfix/error[16568]: 6E21D209AB: to=, relay=none, delay=5652, delays=5652/0.01/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 17 15:20:39 mx postfix/master[16517]: terminating on signal 15
Nov 17 15:20:40 mx postfix/master[16719]: daemon started — version 2.9.6, configuration /etc/postfix
Nov 17 15:20:40 mx postfix/qmgr[16727]: 77878209C1: from=, size=23272, nrcpt=1 (queue active)
Nov 17 15:20:40 mx postfix/qmgr[16727]: warning: connect to transport private/amavis: Connection refused
Nov 17 15:20:40 mx postfix/qmgr[16727]: 7CB93209B1: from=, size=23279, nrcpt=1 (queue active)
Nov 17 15:20:40 mx postfix/error[16733]: 77878209C1: to=, relay=none, delay=860, delays=860/0.02/0/0.02, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 17 15:20:40 mx postfix/error[16738]: 7CB93209B1: to=, relay=none, delay=5131, delays=5131/0.03/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)
Nov 17 15:21:00 mx postfix/postscreen[16743]: CONNECT from [10.243.22.38]:34503 to [10.243.66.65]:25
Nov 17 15:21:00 mx postfix/postscreen[16743]: WHITELISTED [10.243.22.38]:34503
Nov 17 15:21:00 mx postfix/smtpd[16744]: connect from unknown[10.243.22.38]
Nov 17 15:21:00 mx postfix/smtpd[16744]: 274CA209C3: client=unknown[10.243.22.38]
Nov 17 15:21:00 mx postfix/cleanup[16748]: 274CA209C3: message-id=
Nov 17 15:21:00 mx postfix/smtpd[16744]: disconnect from unknown[10.243.22.38]
Nov 17 15:21:00 mx postfix/qmgr[16727]: 274CA209C3: from=, size=23272, nrcpt=1 (queue active)
Nov 17 15:21:00 mx postfix/error[16733]: 274CA209C3: to=, relay=none, delay=0.02, delays=0.02/0/0/0, dsn=4.3.0, status=deferred (mail transport unavailable)
Olá Leonardo, somente para eu entender, você está configurando o amavis em um servidor dedicado?
sim, tenho um servidor com amavis e postifix fazendo gateway para outro servidor postfix na minha rede interna,
Confirme por favor se o Amavis está escutando na interface de rede ou somente na local, porta 10024.
Para escutar nas interfaces:
$inet_socket_bind = ‘0.0.0.0’
a configuração ´ta igualziho ao seu
$inet_socket_bind = ‘0.0.0.0’; # Onde escutar – Colocar as interfaces onde o AMaViS deve aceitar conexões
a situação é a seguinte
1 – servidor amavis+postfix com spamassassin e clamav
2 – servidor de email com postfix configurado fazendo relay para o primeiro.
o servidor 1 só recebe filtra e encaminha para o servidor 2
Você confirmou com o netstat que ele está escutando me todas as interfaces? Talvez a entrada tenha ficado duplicada no arquivo do Amavis.
O log é de conexão recusada mesmo, ele não consegue se comunicar com o Amavis no endereço configurado.
@mx:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:spamd *:* LISTEN 11922/spamd.pid
tcp 0 0 *:ssh *:* LISTEN 2768/sshd
tcp 0 0 *:smtp *:* LISTEN 17304/master
tcp 0 0 *:10024 *:* LISTEN 16992/amavisd-new (
tcp 0 0 *:10025 *:* LISTEN 17304/master
tcp 0 0 mx:ssh 10.200.21.20:4699 ESTABLISHED 3086/0
tcp 0 0 mx:ssh 10.200.21.20:35635 ESTABLISHED 9608/sshd: root@not
tcp 0 0 mx:ssh 10.200.21.20:35639 ESTABLISHED 9611/sshd: root@not
tcp 0 0 mx:ssh 10.200.21.20:35198 ESTABLISHED 9427/1
tcp6 0 0 [::]:ssh [::]:* LISTEN 2768/sshd
tcp6 0 0 [::]:smtp [::]:* LISTEN 17304/master