Configuração do Sendmail access_db. Como é usado e como escrevê-lo

Configuração do Sendmail access_db. Como é usado e como escrevê-lo

Estou lendo sobre o recurso access_db do sendmail. Aparentemente, parece promissor como forma preventiva de impedir o spam.

Tenho várias dúvidas relacionadas a como o access_db é usado. Então, basicamente, eu especifico um conjunto de regras no arquivo de acesso, e o sendmail irá verificar esse banco de dados para ver se deve fazer alguma coisa em relação a um email.

  1. E os e-mails que não se enquadram em nenhuma das regras especificadas? Qual é o comportamento padrão?
  2. Posso usar expressão regular? Por exemplo, "To:*@spam.com REJECT" funcionará?
  3. Se eu tiver apenas "paypal.com RELAY", isso significa que meu sendmail aceitará e enviará e-mails originados ou destinados a paypal.com?

Muito obrigado!

Responder1

  1. Se uma regra não corresponder às regras em access_db, isso não afetará a aceitação ou negação da mensagem. A mensagem continua a ser processada pelo restante das regras.
  2. access_db (e quaisquer curingas, mas não expressões regulares) é descritoaqui. Se você deseja expressões regulares, você deve escrever seus próprios conjuntos de regras que imitem o comportamento do access_db, mas usar um mapa de expressões regulares, ou usar um milter, comoMIMEDefang, oumilter-regex.
  3. É melhor usar regras que comecem com From:ou Connect:em vez de endereços IP ou domínios simples, para não ter que pensar se a regra é sobre o nome de domínio do host que se conecta ao seu host ou o nome de domínio do endereço do remetente (eles não são necessariamente iguais).

Responder2

Como usar um Regex no Sendmail

Eu estava recebendo spam de todos os domínios numéricos, como 3456.com. No início, adicionei 10.000 entradas ao access.db, o que foi ridículo.

No seu arquivo sendmail.mc, na parte inferior, após os mailers, você pode adicionar uma regex como esta.

LOCAL_CONFIG
Kallnumbers regex -a@MATCH @[0-9]+\.com
LOCAL_RULESETS
SLocal_check_mail
R$+     $: $(allnumbers $1 $)
R@MATCH     $#error $: "550 Rejected."

Você pode copiar a maior parte literalmente, apenas altere algumas coisas.

Defina seu regex e dê a ele um identificador, prefixe-o com K meu identificador é allnumberse meu regex é[0-9]+\.com

   Kallnumbers regex -a@MATCH @[0-9]+\.com

os dois últimos definem a partida e as ações tomadas

R$+     $: $(allnumbers $1 $)
R@MATCH     $#error $: "550 Rejected.

Sei que parece muito cf, mas vai no mc.

informação relacionada