layout | title | date | categories | excerpt_separator |
---|---|---|---|---|
post | Email - autodiscover / autoconfig | 2020-04-26 | [technique securite web outils] | <!--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, ...
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 :
Du coup pour pouvoir répondre aux demandes de tous les clients de messagerie, on va commencer par rajouter les entrées DNS suivantes :
@ 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. 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.
/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)