- Modifié
Bonjour à tous,
Ci-dessous les quelques lignes nécessaires à la création d'un système de mail "jetable" perso. Celui-ci consiste en une redirection de l'ensemble des mails sous la forme "base.xxx@ndd.tld" vers votre mail principal. Une fois que l'un de ces mails est la prise de spam, vous pouvez bannir la redirection afin de : 1/ supprimer la source de spam, 2/ identifier le site à l'origine (dans mon cas lionel.sitemarchand@domaine.tld).
Pour ce tutoriel vous devez avoir un serveur postfix fonctionnel.
Création et redirection du catch-all
On modifie le fichier de configuration postfix afin de réceptionner l'ensemble des emails.
On créé un compte devnull pour la récupération (et la mise à la poubelle) de l'ensemble des comptes mails bannis.
Lors de la redirection du mail vers votre compte principal, il n'est pas facilement visible le mail "jetable" à qui été adressé le mail. On y ajoute alors automatiquement, en bas de chaque mail, le destinataire initial.
On installe altermime
Il n'y a plus qu'à tester !!
Ci-dessous les quelques lignes nécessaires à la création d'un système de mail "jetable" perso. Celui-ci consiste en une redirection de l'ensemble des mails sous la forme "base.xxx@ndd.tld" vers votre mail principal. Une fois que l'un de ces mails est la prise de spam, vous pouvez bannir la redirection afin de : 1/ supprimer la source de spam, 2/ identifier le site à l'origine (dans mon cas lionel.sitemarchand@domaine.tld).
Pour ce tutoriel vous devez avoir un serveur postfix fonctionnel.
Création et redirection du catch-all
On modifie le fichier de configuration postfix afin de réceptionner l'ensemble des emails.
nano /etc/postfix/main.cf
On modifie la ligne suivante :
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf, regexp:/etc/postfix/aliases
On créé notre base de mail :
nano /etc/postfix/aliases
On y colle nos règles d'email à accepter (dans le cas ci-dessous, l'ensemble des mails lionel.xxx@ndd.tld sont acceptés et redirigés vers le mail principal monmail@gmail.com).
/^lionel\..*@ndd.tld$/ monmail@gmail.com
Et on redemarre postfix :
service postfix restart
Bannir un emailOn créé un compte devnull pour la récupération (et la mise à la poubelle) de l'ensemble des comptes mails bannis.
nano /etc/aliases
On y ajoute
devnull: /dev/null
Et enfin on prend en compte la mise à jour
newaliases
Pour bannir un compte, il suffit alors de l'ajouter dans /etc/postfix/aliases
nano /etc/postfix/aliases
Tout en haut :
/^lionel.abannir@ndd.tld$/ devnull
Ajout de l'email en destination en bas de chaque mail redirigéLors de la redirection du mail vers votre compte principal, il n'est pas facilement visible le mail "jetable" à qui été adressé le mail. On y ajoute alors automatiquement, en bas de chaque mail, le destinataire initial.
On installe altermime
apt-get install altermime
On créé un utilisateur filter pour altermime
useradd -r -c "Postfix Filters" -d /var/spool/filter filter
mkdir /var/spool/filter
chown filter:filter /var/spool/filter
chmod 750 /var/spool/filter
On créé le script qui gère l'édition
cp /usr/share/doc/altermime/examples/postfix_filter.sh /etc/postfix/disclaimer
chgrp filter /etc/postfix/disclaimer
chmod 750 /etc/postfix/disclaimer
On créé le fichier qui sera automatiquement ajouté en bas de chaque mail
mkdir /etc/postfix/disclaimer_model
chown filter:filter /etc/postfix/disclaimer_model/
touch /etc/postfix/disclaimer_model/disclaimer.txt
touch /etc/postfix/disclaimer_model/disclaimer_html.txt
On dit à postfix de prendre en compte altermime
nano /etc/postfix/master.cf
On ajoute -o content_filter=dfilt: à la fin de la ligne smtp
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
-o content_filter=dfilt:
[...]
Et on ajoute tout à la fin de ce même fichier
[...]
dfilt unix - n n - - pipe
flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}
On redemarre postfix
service postfix restart
On personnalise nos fichiers disclaimer
nano /etc/postfix/disclaimer_model/disclaimer.txt
---
Ce message est à destination de :
email
---
nano /etc/postfix/disclaimer_model/disclaimer_html.txt
<p style="border-style:dashed; border-color:#000000; border-width:1px; font-size: 90%; background-color: #F5F5DC;">
Ce message est à destination de :<br>
email
</p>
En enfin on personnalise le script
nano /etc/postfix/disclaimer
#!/bin/sh
# Localize these.
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail
# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15
# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }
cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }
# Personnalisation du disclamer
DISCLAM_MESS=/etc/postfix/disclaimer_model/disclaimer.txt
DISCLAM_MESS_HTML=/etc/postfix/disclaimer_model/disclaimer_html.txt
TO_ADDRESS=`grep -m 1 "To:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1 | sed 's/^To: //g' | awk '{print $1}'`
sed -i "3s/.*/$TO_ADDRESS/" $DISCLAM_MESS
sed -i "3s/.*/$TO_ADDRESS/" $DISCLAM_MESS_HTML
/usr/bin/altermime --input=in.$$ \
--disclaimer=$DISCLAM_MESS \
--disclaimer-html=$DISCLAM_MESS_HTML || \
# --xheader="X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
$SENDMAIL -oi "$@" <in.$$
exit $?
Il n'y a plus qu'à tester !!