|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- ---
- layout: post
- title: "Email - autodiscover / autoconfig"
- date: 2020-04-26
- categories: [technique, outils]
- excerpt_separator: <!--more-->
- ---
-
- Je n'avais pas ~~eu~~ pris le temps de mettre en place les configurations nécessaires permettant aux différents clients
- de messagerie (bureau / mobile) de récupérer automatiquement l'adresse du serveur, les ports, les protocoles, ...
- <!--more-->
- ## Ca marche comment ?
-
- Lorsqu'on souhaite lire ses emails ailleurs que sur son navigateur Internet, on ouvre son client de messagerie préféré et
- on suit les différentes étapes ; il y a alors 2 solutions, soit le client arrive à "récupérer" la configuration liée au
- domaine de messagerie, soit vous êtes obligé de le faire manuellement ..
-
- L'idée est bien de se faciliter la vie :) Mais comme tout n'est pas simple, chaque client utilise un des mécanismes suivants :
- * une base de données ISPB gérée par Mozilla ;
- * deux fichiers de configuration mis à disposition en HTTPs ;
- * des entrées DNS sur la zone du domaine ;
- * la devinette, le client essaye de combiner smtp ou imap avec le nom de domaine de votre messagerie ;
-
- ## On met quoi en place ?
-
- Du coup pour pouvoir répondre aux demandes de tous les clients de messagerie, on va commencer par rajouter les entrées DNS suivantes :
- ```bash
- @ IN MX 10 mail.allella.io.
- autoconfig IN CNAME www
- autodiscover IN CNAME www
- _imaps._tcp SRV 0 1 993 mail.allella.io.
- _submission._tcp SRV 0 1 465 mail.allella.io.
- _autodiscover._tcp SRV 0 0 443 autodiscover.allella.fr.
- ```
-
- On met à disposition aussi les fichiers de configuration en se basant sur [cette proposition](https://github.com/gronke/email-autodiscover).
- On clone le repo dans un répertoire local sur le serveur, on adapte les fichiers pour sa configuration et on inclut ce bloc pour chaque domaine.
- ```bash
- /etc/nginx/conf.d/local$ cat autodiscover.conf
- location ~ /(?:a|A)utodiscover/(?:a|A)utodiscover.xml {
- root /var/www;
- try_files /autodiscover/autodiscover.php =404;
- fastcgi_pass unix:/run/php/php7.3-fpm.sock;
- fastcgi_param PATH_INFO $path_info;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param SERVER_ADDR "";
- fastcgi_param REMOTE_ADDR $http_x_real_ip;
- }
-
- location ~ /mail/config-v1.1.xml {
- root /var/www;
- try_files /autodiscover/config-v1.1.xml =404;
- }
-
- /etc/nginx/sites-enabled$ cat allella.fr
- server {
- listen 443;
- server_name allella.fr www.allella.fr;
-
- include /etc/nginx/conf.d/local/autodiscover.conf;
- [...]
- }
- ```
-
- Et voilà, une fois l'adresse ajoutée, Thunderbird trouve tout seul sa configuration :
-
- ![thunderbird_autoconfig]({{ site.baseurl }}/assets/images/thunderbird_autoconfig.png)
|