|
@@ -0,0 +1,67 @@ |
|
|
|
|
|
--- |
|
|
|
|
|
layout: post |
|
|
|
|
|
title: "email - autodiscover / autoconfig" |
|
|
|
|
|
date: 2020-04-26 |
|
|
|
|
|
categories: [technique, securite, web, 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, ... |
|
|
|
|
|
|
|
|
|
|
|
## 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) |