Si vous possédez un hébergement mutualisé chez OVH vous pouvez utiliser un serveur de messagerie en local et utiliser OVH en relayhost afin d’envoyer vos mails. La configuration de postfix va utiliser une authentification SASL auprès du serveur ssl0.ovh.net sur le port 587. Pour cela vous devez possédez quelques pré-requis.
Vous devez impérativement avoir un compte email VALIDE est prêt à l’emploi de disponible afin de compléter la procédure d’installation de postfix en relayhost avec OVH. Vous pouvez le créer en quelques secondes dans votre espace de gestion OVH, onglet « emails« .
Environnement de travail: Ubuntu 14.04
sudo gedit /etc/hostname
Configuration du Hostname et des hosts (Imperatif)
sudo gedit /etc/hosts
127.0.1.1 mondomaine.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Une fois votre station correctement configuré, pensez à adapter selon vos besoins en remplacent « mondomaine.com » par le votre.
On débute par l’installation de Postfix. Répondez aux divers question comme ci-dessous. Dans les divers questions vous pouvez laissez par défault les réponses ormis, pour « site internet » ainsi que pour le nom de courrier ou vous devez indiquer le nom de domaine.
Le même que votre « hostname » renseignez plus haut il représentera le domaine de provenance du mail « mailperso@mondomaine.com« .
- ok
- Site Internet
- mondomaine.com(Nom de courrier)
- Non
- +
- Tous
sudo apt-get install postfix
Une fois terminé ouvrez le fichier de configuration de postfix via votre éditeur, ici gedit. Le fichier comporte quelques points à vérifier impérativement.
Commencez par ajouter en fin de fichiers ces quelques lignes. C’est dans le fichier sasl_passwd qui une fois hash vous permettra de vous authentifier auprès de OVH.
sudo gedit /etc/postfix/main.cf
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
Vérifiez également que « mydestination = » soit vide. Vérifiez « myhostname = mondomaine.com » soit bien renseigné et pour finir « relayhost=[ssl0.ovh.net]:587« .
Au final dans mon exemple le fichier de configuration ressemble à ceci.
/etc/postfix/main.cf
# 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 (Ubuntu)
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_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mondomaineperso.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination =
relayhost=[ssl0.ovh.net]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
On a presque terminé, ouvrez à présent avec votre éditeur le fichier sasl_passwd qui doit contenir [ssl0.ovh.net]:587 mailvalideetfonctionnelovh@mondomaine.com:MOTdePASSE
sudo gedit /etc/postfix/sasl/sasl_passwd
Ne reste plus qu’a généré le hash avec postmap.
On redémarré Postfix
On teste un envoi de mail
Mémos de commandes rapide et quelques astuces pour vous aider à débugger si besoin.
sudo apt-get install postfix
//desinstaller postfix
sudo apt-get autoremove --purge postfix
//reconfigurer postfix
dpkg-reconfigure postfix
//fichier de configuration principal de postfix
sudo gedit /etc/postfix/main.cf
//fichier devant contenir les identifiants valide et fonctionnel
sudo gedit /etc/postfix/sasl/sasl_passwd
//génère le hash des identifiants valide et fonctionnel
sudo postmap /etc/postfix/sasl/sasl_passwd
//permet de redémarrer postfix pour appliquer les modifications de configuration
sudo service postfix restart
//log du service mail
sudo gedit /var/log/mail.log
//retourne uniquement les erreurs d'authentification
sudo gedit /var/log/mail.err
// envoi un email a l'adresse destinataire
echo "Test mail from postfix" | mail -s "Test Postfix" adressedestinataire@domaine.com
//vider les mails en attente sur postfix
sudo postsuper -d ALL
Modifier le nom de domaine
Ajout dans /etc/postfix/main.cf
Ajout dans le fichier /etc/postfix/canonical
@domain.lan @domain.wan
Génère le Hash et reboot de postfix
service postfix reload
Merci pour cet article.
Semble fonctionner depuis un serveur web sur le host mais aucun mail reçu avec la commande mail en ligne de commande (filtré chez OVH ?)
Article salutaire, et pour éviter que le mot de passe et les mails ne circulent en clair :
smtp_sasl_auth_enable = yes
smtp_tls_security_level = encrypt
smtp_sasl_tls_security_options = noanonymous
relayhost = [193.70.18.144]:587
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
juste pour info pour que ca marche sur ubuntu il faut installer les modules suivants :
sudo apt-get install sasl2-bin
sudo apt-get install libsasl2-modules