2 votes

Comment configurer une liste blanche d'e-mails en utilisant uniquement procmailrc pour protéger mes enfants des e-mails indésirables ?

Comment configurer une liste blanche d'e-mails en utilisant uniquement procmailrc pour protéger mes enfants des e-mails indésirables ?

J'utilise actuellement le contrôle parental de l'OS, mais il n'est valable que pour l'ordinateur sur lequel il est activé.

Je comprends que lorsque mes enfants grandiront, ils trouveront des solutions pour contourner les restrictions techniques parentales qui leur sont imposées, mais je veux au moins comprendre les options dont je dispose d'ici là.

1voto

James Mertz Points 390

procmail peut filtrer par le From et il existe de nombreux exemples de recettes.

\# This one discards all mail sent from the address below.
:0
\* ^From: idiot@somehost.com
/dev/null

Mais n'oubliez pas que procmail ne fonctionne qu'avec le courrier distribué localement. Il n'affecte pas les boîtes aux lettres accessibles par IMAP ou webmail.

1voto

Lord Future Points 131

Celui que j'utilise pour envoyer des messages de moi-même à mon téléphone :

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
! 0000000000@vtext.com

# push everything else to my normal user
:0 
* .
! mainuser

1voto

Ronin Tom Points 111

Je pense que nous n'avons pas encore de solution qui résout exactement le problème initial. Par conséquent, j'aimerais proposer une approche plus explicite. Supposons que notre liste blanche ressemble à ceci :

white.domain.tld
light.domain.tld

Alors j'essaierais le recette suivante :

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

Cela enverrait tous les e-mails qui ne proviennent pas de somebody@white.domain.tld et de somebody@light.domain.tld à /dev/null . Les autres courriels sont envoyés à la destination par défaut. Il est conseillé d'utiliser \. dans votre motif si vous souhaitez faire correspondre un seul point. Le motif . correspond à un seul caractère.

Si vous avez une liste blanche courte, vous pouvez essayer d'obtenir un récépissé encore plus court en combinant les motifs :

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

Soyez conscient d'utiliser ( ) ici. Utilisation de [ ] serait une erreur.

1voto

Isaac Points 192

Je ne sais pas du tout d'où vient cette idée (je sais que je ne l'ai pas écrite moi-même), mais je l'ai utilisée dans une .procmailrc depuis un certain temps déjà, pour ne transférer que les messages provenant d'une adresse figurant dans un fichier de liste blanche distinct vers une adresse électronique cible donnée :

PMDIR=$HOME/Procmail      # Make sure this directory exists!
TARGET=something@example.com

# 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]\+\).*/\2/'`
:0
* ? fgrep -xs "$FROM_ADDR" "$WHITELIST"
! $TARGET

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X