Mise en place d'un SMTP avec Postfix sur Linux Debian

Mise en place d'un relay SMTP avec Postfix sur Linux Debian 7 : et cas du smtp OVH.

Publié le 30/06/2015

1 - Configuration de Postfix en Smarthost sur un serveur dédié Kimsufi OVH

1.1 - Configuration réseau

On va commencer par créer un enregistrement A pour notre seveur dans le fichier de notre zone DNS chez OVH.

Dans l'admin manager d'OVH on va sélectionner notre domaine, puis cliquer sur "Zone DNS" et ensuite on va ajouter une entrée de Type A, on attribue un nom d'hôte host.domaine-ovh.tld, dans "Sélectionner une IP" choisir "Destination Personnalisée" et mettre dans le champs destination l'IP du votre serveur web LAMP.

On va prendre pour l'exemple les valeurs suivantes :

domaine : toto.com

host : srv

Paramétrage du réseau :

- Edition du fichier hostname :

nano /etc/hostname srv

- Edition du fichier mailname :

nano /etc/mailname toto.com

- Edition du fichier hosts :

nano /etc/hosts


127.0.0.1       localhost
127.0.1.1       srv        srv.toto.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

 

- Edition du fichier resolv.conf :

nano /etc/resolv.conf nameserver "L'IP de votre resolveur DNS"*

* L'IP de votre routeur si la machine est auto-hebergé ou laisser les paramètres par défaut dur le serveur dédié chez OVH.

- Configuration de l'adapteur réseau

su nano /etc/network/interfaces


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

auto lo

iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.254

 

* Laisser les paramètres si sur machine OVH.

- Edition du fichier aliases

nano /etc/aliases


# See man 5 aliases for format
root:   toto@toto.com

 

1.2 - Installation et paramétrage de Postfix

Via apt-get, nous allons installer les paquets nécessaires :

apt-get install postfix bsd-mailx

Quand le menu de configuration de Postfix host apparait, effectuer les choix suivants :

General type of mail configuration : Internet with smarthost
System mail name : toto.com
STMP relay host : ssl0.ovh.net

- Edition du fichier de configuration de Postfix :

nano /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 (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_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.

myhostname = srv
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
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
smtp_sasl_auth_enable   = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_security_options = noanonymous

 

Ensuite nous allons créer le fichier sasl_password :

nano /etc/postfix/sasl_password [ssl0.ovh.net]:587 toto@toto.com:password

On va pouvoir maintenant générer le fichier sasl_password.db :

 


touch /etc/postfix/sasl_password
postmap /etc/postfix/sasl_password

 

On met à jour les alias et on redémarre Postfix :

 


newaliases
service postfix restart

 

1.3 - Test d'envoi

On va afficher le syslog voir si le mail part correctement :

tail -f /var/log/syslog

Puis on va envoyer un mail pour tester que notre relais smtp fonctionne :

mail -v user@domaine.tld

Entrer le objet et faire un retour charriot pour rentrer dans le champ message. Pour envoyer le message faire un retour à la ligne, tapper "." et entrée.

Sources :