Postfix c’est quoi ?
Postfix est un serveur de messagerie permet de recevoir son courrier directement dans sa messagerie client.
A priori, il est facile à administrer à condition de bien connaître les différentes commandes et le plus sécurisée.
Pour quelle utilisation ?
En faite, si vous avez une serveur dédié ou votre propre serveur ça vous servira pour recevoir les mails de votre site, connaître l’état du système d’exploitation.
Pré-requis
- Avoir un serveur Linux Debian
- Avoir installer un serveur Dns
Installer
Pour installer postfix vous devez connaîte la commande d’installation.
[code]apt-get install postfix sasl2-bin mailutils[/code]
Je pense qu’il ne manque rien. Bien sur vous pouvez installer Postfix avec une base de donnée (mysql, postgres, etc …).
Une fois configurer nous allons passer à la phase délicate la configuration.
Configurer
Aller dans le répertoire de Postfix. Moi j’utilise la commande mc que vous trouverez dans les trucs et astuces pour la debian .
[code]mc /etc/postfix[/code]
Aller dans le fichier main.cf pour pouvoir personnaliser la configuration de Postfix.
Les lignes en gras ci-dessous soit ajouter ou mettre un # :
[code]
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first line of that file to be used as the name. The Debian default is
#/etc/mailname. myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA’s job.
append_dot_mydomain = no
# Uncomment the next line to generate “delayed mail” warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtp_tls_note_starttls_offer = yes
#smtp_sasl_tls_security_options = noanonymous
smtp_use_tls =yes
smtpd_use_tls=yes
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
#SASL parameters
smtp_sasl_auth_enable =yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
#smtp_sasl_security_options = noanonymous
smtp_sasl_security_options =
# information on enabling SSL in the smtp client.
myhostname = pfl.port-frejus-location.fr
alias_maps = hash:/etc/aliases
#alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = osnetworking.com, osn.osnetworking.com, localhost.osnetworking.com, localhost
relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a “$EXTENSION”
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#soft_bounce = yes
smtp_fallback_relay = [relay.google.com]
[/code]
Explication des Lignes
smtp_use_tls=yes c’est pour le client gmail
smtpd_use_tls=yes c’est pour le serveur
Nous allons créer un nouveau fichier sasl_passwd dans /etc/postfix/sasl_passwd.
[code]touch /etc/postfix/sasl_passwd[/code]
Quand vous avez créée ce nouveau fichier ouvrez-le.
Mettre dans ce fichier :
[code][smtp.gmail.com]:587 utilisateur@gmail.com:votre mot de passe de votre messagerie. [/code]
Ne pas oublier de mettre les droits sur les fichiers ou dossiers :
chmod -R a+r /etc/postfix
chmod +x postfix-script post-install
chmod +x sasl
Ne pas oublier la prise en compte du fichier sasl_passwd
postmap /etc/postfix/sasl_passwd
[/code]Redémarrer le service de postfix
[code]service postfix restart[/code]
Maintenant on peux vérifier si ça fonctionne bien avec les commandes echo et tail -f.
[code]
echo test | mail -s "test message" utilisateur@gmail.com
Pour voir si le message est bien partie utilisée la commande tail – f.
[code]tail – f /var/log/mail.log[/code]
Voici le résultat obtenu :
x/qmgr[24646]: C6BC030006B: removed Sep 30 11:53:12 pfl postfix/scache[1932]: statistics: start interval Sep 30 11:49:51 Sep 30 11:53:12 pfl postfix/scache[1932]: statistics: domain lookup hits=0 miss=1 success=0% Sep 30 11:53:13 pfl postfix/pickup[1829]: 5537A30006B: uid=0 from=<root@pfl.port-frejus-location.fr> Sep 30 11:53:13 pfl postfix/cleanup[1948]: 5537A30006B: message-id=<20140930095313.5537A30006B@pfl.port-frejus-location.fr> Sep 30 11:53:13 pfl postfix/qmgr[24646]: 5537A30006B: from=<root@pfl.port-frejus-location.fr>, size=452, nrcpt=2 (queue active) Sep 30 11:53:15 pfl postfix/smtp[1950]: 5537A30006B: to=<utilisateur@gmail.com>, relay=smtp.gmail.com[173.194.78.109]:587, delay=2.1, delays=0.01/0.01/0.62/1.5, dsn=2.0.0, status=sent (250 2.0.0 OK 1412070809 ma8sm12357074wjb.46 - gsmtp) Sep 30 11:53:15 pfl postfix/smtp[1950]: 5537A30006B: to=<utilisateur@gmail.com>, relay=smtp.gmail.com[173.194.78.109]:587, delay=2.1, delays=0.01/0.01/0.62/1.5, dsn=2
Nous pouvons voir que le message est bien envoyé :
[code]status=sent (250 2.0.0 OK 1412070809 ma8sm12357074wjb.46 – gsmtp)[/code]
Je remercie le :
- forum de Ubuntu qui est une mine d’or
- site officiel de Postfix traduit en français
- Documentation officiel http://www.postfix.org/documentation.html
- Documentation en français http://x.guimard.free.fr/postfix/
- Une bonne lecture pour comprendre le fonctionnement du SMTP http://irp.nain-t.net/doku.php/170smtp:start