Configurer postfix en relay avec OVH

postfix logo

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« .

rp_ubuntu-logo-300x180.jpg
Environnement de travail: Ubuntu 14.04






sudo gedit /etc/hostname

mondomaine.com

Configuration du Hostname et des hosts (Imperatif)

sudo gedit /etc/hosts

127.0.0.1   localhost
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
//installation de postfix
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_auth_enable = yes
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

# 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 (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

[ssl0.ovh.net]:587 mailvalideetfonctionnelovh@mondomaine.com:MOTdePASSE

Ne reste plus qu’a généré le hash avec postmap.

sudo postmap /etc/postfix/sasl/sasl_passwd

On redémarré Postfix

sudo service postfix restart

On teste un envoi de mail

echo "Test mail from postfix" | mail -s "Test Postfix" maildestinataire@domainedumaildestinataire.com

Mémos de commandes rapide et quelques astuces pour vous aider à débugger si besoin.

//installer postfix
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

canonical_maps = hash:/etc/postfix/canonical

Ajout dans le fichier /etc/postfix/canonical

@domain.lan @domain.wan
@domain.lan @domain.wan

Génère le Hash et reboot de postfix

postmap /etc/postfix/canonical
service postfix reload

3 réflexions au sujet de « Configurer postfix en relay avec OVH »

  1. 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 ?)

  2. 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

  3. 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

Laisser un commentaire