Allez dans le répertoire /etc/postfix puis faites une copie du fichier main.cf. Ce fichier constitue l'essentiel de la configuration de Postfix. Ouvrez-le avec votre éditeur favori. La plupart des options sont correctement positionnées mais il faut en préciser certaines.
Pour préciser les noms de machine et de domaine :
myhostname = serveur.mozart.com mydomain = mozart.com |
Pour préciser l'envoi puis la réception du courrier :
myorigin = $myhostname mydestination = $myhostname, localhost.$mydomain |
Pour préciser le mode de transport des courriers sortants :
default_transport = smtp |
Pour préciser la gestion des alias :
alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases |
Pour prendre en compte les changements de configuration, entrez la commande postfix reload.
Pour afficher les différences de votre configuration avec celle par défaut, entrez postconf -n.
Pour vérifier la configuration du serveur, lancez postfix check.
Vérifiez la présence de Postfix et associés par :
$ ps axf 733 ? S 0:00 /usr/lib/postfix/master 738 ? S 0:00 \_ qmgr -l -t fifo -u 1900 ? S 0:00 \_ pickup -l -t fifo |
Dès à présent le serveur local de messagerie fonctionne.
Pour ouvrir le serveur vers l'extérieur, il faut lui indiquer la marche à suivre. Pour cela ajoutez les lignes suivantes au fichier /etc/postfix/main.cf en remplaçant mail.provider.com par l'adresse du serveur SMTP de votre provider (en conservant les crochets) :
relayhost = [mail.provider.com] defer_transports = smtp |
Enfin, il faut définir la correspondance entre les adresses locales de type utilisateur@serveur.mozart.com qui n'ont aucune valeur pour vos correspondants extérieurs et celles qu'ils connaissent de type identifiant@provider.com. Editez le fichier /etc/postfix/sender_canonical pour que Postfix remplace l'adresse locale de la forme utilisateur@serveur.mozart.com par identifiant@provider.com lorsque utilisateur envoit un message :
utilisateur identifiant@provider.com |
De même, un message adressé par un utilisateur local à identifiant@provider.com ne doit pas être dirigé vers l'extérieur car bien que l'adresse identifiant@provider.com corresponde à une adresse non-locale, l'utilisateur dont l'adresse est identifiant@provider.com lui est local. Editez le fichier /etc/postfix/recipient_canonical :
identifant@provider.com utilisateur |
Générez alors à partir de ces fichiers les bases DB utilisées par Postfix par les commandes :
| postmap /etc/postfix/sender_canonical |
| postmap /etc/postfix/recipient_canonical |
Ajoutez alors dans le fichier /etc/postfix/main.cf :
sender_canonical_maps = hash:/etc/postfix/sender_canonical recipient_canonical_maps = hash:/etc/postfix/recipient_canonical |
Lancez l'utilitaire fetchmailconf en étant sous root. Choisissez tous les paramètres de vos comptes emails distants dans l'interface. Vous devriez obtenir en sortant du programme un fichier /root/.fetchmailrc de ce type :
poll pop.provider.com with proto POP3 user 'utilisateur1' there with password 'passe' is utilisateur1 here options fetchall user 'utilisateur2' there with password 'passe' is utilisateur2 here options fetchall |
Un script très pratique est livré avec pppd. Il s'agit de ppp-on. Pour l'installer, il suffit de le copier (/usr/share/doc/ peut-être aussi /usr/doc) :
| cp /usr/share/doc/ppp-2.4.0/scripts/ppp-on /etc/ppp/ |
| cp /usr/share/doc/ppp-2.4.0/scripts/ppp-on-dialer /etc/ppp/ |
| cp /usr/share/doc/ppp-2.4.0/scripts/ppp-off /etc/ppp/ |
Editez le fichier /etc/ppp/ppp-on pour affecter les valeurs aux paramètres TELEPHONE, ACCOUNT et PASSWORD.
Editez le fichier /etc/ppp/ppp-on-dialer pour ajuster le chemin de recherche de la commande chat : remplacez chat par /usr/sbin/chat.
On établit la connexion régulièrement par une entrée cron. Une fois la connexion établie le fichier /etc/ppp/ip-up.local est exécuté automatiquement par le système ; on y place les commandes pour envoyer et recevoir les messages puis pour raccrocher.
![]() | Afin d'éviter d'entrer en concurrence avec le script qui suit, supprimez dans le fichier /etc/ppp/ip-up toute ligne contenant /usr/sbin/sendmail. En effet cette commande est exécutée avec davantage de précaution par le script suivant. |
Ajoutez une entrée à cron par la commande crontab -e qui ouvre vi dans lequel vous pouvez taper une ligne comme la suivante qui lance deux fois par heure du lundi au vendredi de 9 heures à 19 heures la connexion donc l'envoi et la récupération du courrier :
0,30 9-19 * * 1-5 /etc/ppp/ppp-on |
Ajoutez au script /etc/ppp/ip-up.local les lignes suivantes et rendez-le exécutable par chmod +x /etc/ppp/ip-up.local :
#!/bin/bash
# Récupération des messages
/usr/bin/fetchmail --logfile /root/fetchlog &
fetchid=$!
fetchps=$(ps --no-headers -o pid -p $fetchid)
if [ -z "$fetchps" ]
then fetchps=0
fi
sleep 10
while [ "$fetchps" -eq "$fetchid" -a -e "/var/lock/LCK..ttyS0" ]
do
sleep 20
fetchps=$(ps --no-headers -o pid -p $fetchid)
if [ -z "$fetchps" ]
then fetchps=0
fi
done
if [ "$fetchps" -ne 0 ]
then kill $fetchid
fi
# Envoi des messages mis en queue
/usr/sbin/sendmail -q &>/dev/null
sleep 10
mailq=$(/usr/bin/mailq)
while [ "$mailq" != "Mail queue is empty" -a -e "/var/lock/LCK..ttyS0" ]
do
sleep 20
mailq=$(/usr/bin/mailq)
done
# On raccroche
/etc/ppp/ppp-off |