Como configuro uma lista de permissões de e-mail usando apenas o procmailrc para proteger meus filhos de e-mails indesejados?

2

Como configuro uma lista de permissões de e-mail usando apenas o procmailrc para proteger meus filhos de e-mails indesejados?

Atualmente, eu uso o controle dos pais do sistema operacional, mas isso é bom apenas para o computador em que ele está ativado.

Eu entendo que à medida que meus filhos crescerem, eles descobrirão o que fazer com as restrições técnicas dos pais, mas eu quero pelo menos entender as opções que tenho até então.

    
por hanleyp 05.09.2009 / 14:59

4 respostas

1

procmail pode filtrar pelo cabeçalho From e há muitos exemplos de receitas.

# This one discards all mail sent from the address below.
:0
* ^From: [email protected]
/dev/null

Mas não se esqueça de que procmail só funciona com o correio entregue localmente. Não afetará as caixas de correio acessadas via IMAP ou webmail.

    
por 05.09.2009 / 16:39
1

O que eu uso para enviar mensagens de mim para o meu telefone:

VERBOSE=off
LOGFILE=/dev/null

# if it comes from a specific address(es), send to my cell
# it's be just as easy to whitelist a domain by adding another '|domain.tld' section to the bracketed regex
:0
* ^From.*[main.email.domain.tld|other.email.domain.tld]
* ^To.*datente
! [email protected]

# push everything else to my normal user
:0 
* .
! mainuser
    
por 16.09.2009 / 14:59
1

Acho que ainda não temos solução alguma, isso resolve exatamente o problema inicial. Portanto, gostaria de fornecer uma abordagem mais explícita. Vamos supor que nossa whitelist se parece com isso:

white.domain.tld
light.domain.tld

Então eu tentaria o seguinte recibo:

:0
* !^From.*@white\.domain\.tld
* !^From.*@light\.domain\.tld
/dev/null

Isso enviaria todos os e-mails que não são de [email protected] e não de [email protected] para /dev/null . Os emails restantes são enviados para o destino padrão. Esteja ciente de usar \. no seu padrão se você quiser combinar um único ponto. O padrão . corresponde a um único caractere.

Se você tiver uma pequena lista de permissões, poderá tentar obter um recibo ainda mais curto combinando os padrões:

:0
* !^From.*@(white|light)\.domain\.tld
/dev/null

Esteja ciente de usar ( ) aqui. Usar [ ] seria um erro.

    
por 09.04.2013 / 09:02
1

Não tenho certeza de onde obtive isso (sei que não escrevi isso sozinho), mas há um tempo que estou usando em .procmailrc para encaminhar apenas mensagens de um endereço listado em um arquivo whitelist separado para um determinado endereço de e-mail de destino:

PMDIR=$HOME/Procmail      # Make sure this directory exists!
[email protected]

# allow any addresses listed in $PMDIR/whitelist
WHITELIST=$PMDIR/whitelist
FROM_ADDR='formail -zxFrom: | sed 's/\(.*[^-_\.0-9a-zA-Z]\)\?\([-_\.0-9a-zA-Z]\+@[-_\.0-9a-zA-Z]\+\).*//''
:0
* ? fgrep -xs "$FROM_ADDR" "$WHITELIST"
! $TARGET
    
por 06.12.2015 / 08:17