LINUX:Auto-configuration du client de messagerie
→ retour au menu de concernant la messagerie
But
Lors de l'initialisation d'un compte mail dans client de messagerie tels Mozilla Thunderbird ou Microsoft Office Outlook, il n'est pas facile de configurer les différents paramètres permettant d'assurer les connexions avec le serveur de messagerie. La mise en place de l'auto-configuration permet d'automatiser cette tâche.
Dans les exemples qui suivent, nous utiliserons le nom de domaine "home.dom" de notre réseau local. Mais pour un domaine référencé au niveau mondial dans un serveur DNS, le principe est équivalent. Notre serveur de messagerie sera "mail.home.dom".
Principe
Au niveau du client de messagerie, on fournit l'adresse mail et le mot de passe associé et le serveur du domaine concerné fournit le reste du paramétrage.
Le client de messagerie va interroger le serveur WEB du domaine correspondant. Ce serveur détient un fichier de configuration sous format XML qui est renvoyé au client qui remplit le reste des paramètres.
Il existe différents noms de fichiers XML ayant une structure spécifique en fonction du client de messagerie. Ils sont placés à des endroits spécifiques dans des sites WEB.
- Pour Microsoft Office Outlook, le chemin est sous la forme:
- http://<nom de domaine>/autodiscover/autodiscover.xml Selon notre exemple: https://home.dom/autodiscover/autodiscover.xml
- Pour Mozilla Thunderbird, le chemin peut se présenter sous trois formes:
- http://<nom de domaine>/.well-known/autoconfig/mail/config-v1.1.xml Par exemple: https://home.dom/.well-known/autoconfig/mail/config-v1.1.xml
- http://autoconfig.<nom de domaine>/mail/config-v1.1.xml Par exemple: https://autoconfig.home.dom/mail/config-v1.1.xml
- http://<nom de domaine>/autodiscover/autodiscover.xml Par exemple: https://home.dom/autodiscover/autodiscover.xml
Certificats
Comme il se doit actuellement, nous utiliserons un échange sécurisé. Toute requête de type HTTP sera automatiquement redirigée vers un type HTTPS.
Il faut donc disposer de certificats adaptés. Reportez-vous à l'article sur l'Extension de la CA privée (V3).
Bien sûr, si votre serveur est accessible via Internet, on passe d'office aux certificats créés par Let's Encrypt (certificats gratuits SSL/TLS).
Reconnaissance de notre serveur auprès du client
Notre serveur doit être reconnu par notre machine client à partir de laquelle nous désirons consulter nos mails.
Si notre serveur n'est accessible que sur notre réseau local, soit nous disposons d'un serveur DNS local, soit il faut adapter le fichier "hosts" sur notre machine client.
- Sous Windows, ce fichier se trouve à l'adresse suivante: "c:\windows\system32\drivers\etc\hosts"
- Sous Linux, ce fichier se trouve à l'adresse suivante: "/etc/hosts"
Pour notre exemple, nous amendons le fichier "hosts" qui doit contenir (ou amendée) la ligne suivante:
192.168.1.100 home.dom autoconfig.home.dom mail.home.dom
Voyez l'article sur Le fichier HOSTS pour plus d'informations.
Si par contre, votre serveur est accessible via Internet, on ajoute ces entrées dans le gestionnaire de votre zone DNS tel OVH.
Voyez les articles tels la Configuration du serveur DNS via GSLB ou la Configuration du serveur DNS via OVH.
Serveur WEB : Apache
L'étape suivante consiste à configurer notre serveur WEB. Nous utilisons Apache.
A noter que pour la suite, nous utiliserons un script PHP; il faut que ce module soit ajouté et actif dans notre serveur WEB. Voyez l'article sur PHP. Le module SSL ("mod_ssl") doit aussi être installé. Voyez l'article sur HTTP: serveur Web.
On commence par aborder le protocole HTTP (port 80). On va y intégrer nos trois machines virtuelles: "home.dom" et "autoconfig.home.dom".
On ajoute dans la configuration d'Apache se trouvant sous le répertoire "/etc/httpd" les ligne suivantes: ---
<VirtualHost *:80>
ServerName home.dom
RewriteEngine on
RewriteRule ^ https://home.dom%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:80>
ServerName autoconfig.home.dom
RewriteEngine on
RewriteRule ^ https://autoconfig.home.dom%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
On remarque que l'on fait appel au module de réécriture de la requête qui nous redirige vers le protocole HTTPS (port 443).
On passe ensuite à l'ajout de la configuration du protocole HTTPS (port 443).
On ajoute dans la configuration d'Apache se trouvant sous le répertoire "/etc/httpd" les ligne suivantes: ---
<VirtualHost *:443> ServerName home.dom SSLEngine on SSLOptions +StrictRequire SSLCertificateKeyFile /etc/pki/home/private/home.key SSLCertificateFile /etc/pki/home/certs/home.pem DocumentRoot /web/autoconfig <Directory /web/autoconfig> Options +FollowSymLinks -Indexes AllowOverride All Include conf.d/php8.cfg </Directory> </VirtualHost> <VirtualHost *:443> ServerName autoconfig.home.dom SSLEngine on SSLOptions +StrictRequire SSLCertificateKeyFile /etc/pki/home/private/home.key SSLCertificateFile /etc/pki/home/certs/home.pem DocumentRoot /web/autoconfig <Directory /web/autoconfig> Options +FollowSymLinks -Indexes AllowOverride All </Directory> </VirtualHost>
On y remarque:
- l'activation du protocole SSL
- l'ajout des certificats
- l'ajout des paramètres pour le répertoire qui accueillera nos fichiers XML de l'auto-configuration mail.
- l'activation de PHP (note: Pour la seconde entrée, il peut être évité.)
Pour que cette nouvelle configuration, on doit redémarrer notre serveur WEB:
systemctl restat httpd
→ retour au menu de concernant la messagerie