Configure o postfix para bloquear o correio enviado pelo PHP () para certos destinatários

1

Estou tentando impedir que meu servidor do CentOS 6.5 envie e-mails para uma determinada lista de destinatários. ( [email protected] , [email protected] e assim por diante).

Eu configurei o postfix assim:

/etc/postfix/main.cf :

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access

/ etc / postfix / recipient_access :

[email protected] REJECT
[email protected] REJECT

O banco de dados é criado por meio de:

postmap hash:recipient_access

o postfix é recarregado

service postfix reload

php.ini é:

sendmail_path = /usr/sbin/sendmail -t -i

Infelizmente isso não parece funcionar. Se eu usar o PHP mail () para enviar um email para [email protected] , ele será entregue como sempre.

O que estou perdendo?

    
por Dr. Gianluigi Zane Zanettini 05.04.2014 / 17:15

4 respostas

0

Ok, trabalhei como desejava usando virtual_alias_maps.

Eu escrevi sobre isso aqui mas basicamente você tem que usar virtual_alias_maps = hash:/path/to/myblacklist.txt e ele vai fazer o truque.

    
por 19.04.2014 / 20:06
1
  • É porque smtpd_*_restrictions se aplica apenas aos e-mails recebidos pelo daemon smtpd por meio de uma transação SMTP . Os emails enviados usando o comando sendmail são enfileirados no comando maildrop queue by postdrop , que é selecionado por pickup e alimentado diretamente para cleanup .

  • Você não pode restringir os destinatários dos e-mails enviados pelo comando sendmail .

A única solução para esse problema é forçar seus aplicativos a enviar email somente por meio da transação smtp .

    
por 05.04.2014 / 19:55
0
  • Você pode usar um script alternativo do sendmail como msmtp para transportar seus mail() mails pelo smtp.

  • Após instalar o conjunto sendmail_path no seu arquivo php.ini:

    sendmail_path = /usr/local/bin/msmtp -C /etc/msmtprc -t -i
    
por 12.04.2014 / 17:07
0

Você pode abusar de smtp_generic_maps para desviar este e-mail. Ao contrário das outras directivas que mencionou, esta opera no correio a enviar.

Embora não seja capaz de soltá-lo, ele pode enviá-lo para uma caixa de correio diferente, onde você poderá executar a ação apropriada (como suspender o cliente que enviou o e-mail).

Em main.cf você teria:

smtp_generic_maps = hash:/etc/postfix/generic

E em /etc/postfix/generic :

[email protected] [email protected]
[email protected] [email protected]

Isso deve enviar todos os e-mails para sua caixa de correio de abuso para você agir.

    
por 12.04.2014 / 20:08

Tags