Estou tendo problemas para bloquear e-mails enviados com um endereço "De" específico. O cabeçalho do e-mail fica assim:
From: "Levi Spammer" <[email protected]>
Minha configuração do postfix está assim:
smtpd_sender_restrictions =
permit_mynetworks,
check_sender_access hash:/etc/postfix/access_hash,
check_sender_access pcre:/etc/postfix/access.pcre,
permit
Eu tenho esta entrada no arquivo access_hash:
iamspammer.com REJECT
e isso em access.pcre:
/iamspammer.com/ REJECT
e ainda o e-mail enviado deste endereço não está sendo rejeitado. Está sendo entregue. Estou fazendo algo errado aqui?
Eu tenho
como parte das minhas restrições.
No meu
sender
arquivo tenho entradas comoIsso fará com que o erro 554 (incluindo a mensagem) apareça na camada SMTP.
Depois que este arquivo foi criado, você precisa criar o arquivo hash:
Você deve terminar com
sender.db
e esse é o arquivo usado.check_sender_access
as regras são aplicadas ao endereço do envelope SMTPFROM
(ou seja, doMAIL FROM:
estágio de negociação do protocolo SMTP), não aoFrom:
cabeçalho da própria mensagem.Isso confunde muita gente nova em como o e-mail e o SMTP funcionam, mas é importante perceber que o
FROM
endereço do envelope é completamente diferente e não relacionado ao cabeçalho da mensagemFrom:
(praticamente pela mesma razão que o endereço escrito em um mundo real postado envelope da carta é/pode ser totalmente alheio a quaisquer saudações ou saudações na própria carta dentro do envelope). São duas coisas totalmente separadas e não relacionadas. BTW, o endereço do envelope FROM é geralmente referido como FROM ou FROM_ em maiúsculas (FROM seguido de sublinhado), enquanto o cabeçalho From: endereço é geralmente referido como "From:" em maiúsculas e minúsculas (incluindo o:
) - isso ajuda a distinguir entre eles.Um resumo muito simplificado de uma sessão STMP começa com a máquina remetente se conectando à máquina receptora (geralmente na porta 25 ou 465 ou 587) e abrindo a negociação com um comando
EHLO
ouHELO
(para se identificar). Se isso for aceito, ele envia umMAIL FROM:
comando. Este é o endereço do remetente do envelope (ouFROM
) . Se isso for aceito, ele envia uma ou maisRCPT TO:
declarações listando os destinatários da mensagem. Se a máquina do destinatário aceitar um ou mais dos destinatários como endereços de destino válidos, o remetente enviará umDATA
comando seguido pela própria mensagem (que geralmente é um bloco de cabeçalhos de mensagem como De:, Data:, Assunto: etc. linha vazia e, em seguida, o corpo real da mensagem.DATA
bloco é encerrado por um.
em uma linha por si só), e a sessão SMTP é encerrada com oQUIT
comando.Observe que o cabeçalho From: address pode ser o mesmo que o endereço FROM do envelope, ou pode ser muito semelhante (por exemplo, o endereço do envelope com informações adicionais, como o nome real da pessoa), ou pode ser completamente diferente (por exemplo, o endereço FROM do envelope pode ser o endereço de uma lista de discussão, enquanto o cabeçalho De: contém o endereço do remetente original).
Para obter mais informações sobre a diferença entre essas duas coisas, existem explicações razoáveis sobre a diferença entre o envelope FROM e o cabeçalho From: por motivos legítimos SMTP “MAIL FROM:” não corresponderá a “From:” Header in DATA
De qualquer forma, depois de todas essas informações básicas, se você deseja aplicar regras anti-spam a cabeçalhos de mensagens como
From:
ouSubject:
no Postfix, você precisa usar as regras header_checks e/ou configurar o Postfix para usar um programa externo Milter ("filtro de correio").