Chez certains FAI (Orange pour ne citer que lui), le port d’envoi SMTP est bloqué pour éviter la prolifération des PCs zombies responsables des SPAMs. Dans le cas d’Orange, seuls leurs serveurs SMTPs sont autorisés via le port 25. Tous les autres sont bloqués.

Ça part d’une bonne intention, mais les personnes voulant se lancer dans l’auto hébergement auront des soucis pour le serveur mail, en particulier sous Exchange.

J’ai rencontré ce soucis lors de l’installation de mon serveur Exchange 2013. Il n’y a pas de moyen de procéder via l’Exchange Control Panel, mais les outils PowerShell vont nous aider.

L’EMS, votre ami de toujours

Via l’Exchange Management Shell, on va créer un relai SMTP pour indiquer à Exchange d’envoyer tous nos emails via ce serveur SMTP. Cependant, nous n’utiliserons pas le port 25 pour se connecter à ce serveur tiers, puisqu’il est bloqué.

Commencez par ouvrir le Exchange Management Shell.

Une fois dans celui-ci, il faut commencer par récupérer les identifiants de connexion au serveur SMTP relai :

# récupération du login pour le serveur smtp distant
$creds = Get-Credential -Credential user@domain.com

Une fenêtre de connexion s’ouvre pour vous demander le mot de passe du compte mail « user@domain.com ».

On va ensuite créer le connecteur d’envoi utilisant notre serveur SMTP et nos identifiants de connexion. Il faut aussi y indiquer le port de connexion.

# création du connecteur d'envoi
New-SendConnector -Name "Relai SMTP" -AddressSpaces "SMTP:*;1" -Usage "Internet" -SmartHosts "mail.domain.com" -SmartHostAuthMechanism "BasicAuthRequireTLS" -RequireTLS $true -Port 587 -AuthenticationCredential $creds -Enabled $true

Petites explications :

  • Name : il s’agit ici du nom qui apparaîtra dans l’ECP
  • AddressSpaces : ce paramètre indique quels sont les domaines SMTP de destination qui utiliseront ce relai. En spécifiant *, on indique que c’est le relai par défaut (son coût est de 1)
  • Usage : quel est l’utilité de ce connecteur ? En l’occurence, pour envoyer des mails sur Internet 😉
  • SmartHosts : c’est ici qu’il faut indiquer le serveur relai SMTP.
  • SmartHostAuthMechanism : on spécifie que le serveur relai attends une authentification. On utilise une authentification basique, en forçant l’utilisation du TLS
  • RequireTLS : ce paramètre porte bien son nom 😉
  • Port : on indique le port de connexion (ici le 587, qui est celui par défaut pour du TLS)
  • AuthenticationCredential : on donne les identifiants de connexion que l’on a récupéré précédemment
  • Enabled : il vaut mieux activer ce connecteur pour que tout fonctionne 😀

Dans l’éventualité ou le serveur SMTP ne gère pas le TLS, mais uniquement le SSL (ce qui n’est pas recommandé), il faut remplacer le SmartHostAuthMechanism par « BasicAuth » et changer le paramètre RequireTLS $true par -IgnoreSTARTTLS:$true

Vous n’avez plus qu’à tester 🙂

Source : le Blog de Michaël Todorovic – AD, Exchange, OCS

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.