*************************************** Autoconfiguración de clientes de correo *************************************** .. revision: :sintaxis: 2026-08-06 La configuración aquí mostrada permite autoconfigurar clientes de correo como Outlook y Thunderbird. Se basa en entradas DNS que redirigen a un servidor web. La configuración consta de las siguientes partes: - Crear un sitio web que responda a *autodiscover.midominio.com* y *autoconfig.midominio.com* con lo indicado posteriormente. - Para cada dominio hay que crear dos entradas DNS CNAME hacia los sitios web anteriores. - Configurar Apache2 para que responda con el script PHP adecuado. Consideraciones: - Cuidado en las pruebas, ya que Microsoft cachea las respuestas y no se actualizan. - Para Thunderbird el dominio es *autoconfig* - Para Outlook es *autodiscover* Documentación adicional en `Microsoft Response (POX)`_. Autodiscover - Outlook ====================== Autodiscover es el sistema de autoconfiguración de Microsoft Outlook. Para que funcione, estas son las entradas DNS que tengo para mi dominio *20cones.org* apuntando a *autodiscover.art-website.com*, que es mi servidor de correo multidominio. .. code-block:: text autodiscover CNAME autodiscover.art-website.com. _autodiscover._tcp.20cones.org. 3600 IN SRV 10 10 443 autodiscover.art-website.com. El destino no tiene que tener un certificado válido para el dominio de origen, pero si tiene que tener el certificado válido para el dominio de destino. Realmente la entrada DNS-SRV no es necesario, pero sí es recomendable. En primer lugar voy a hacer una prueba contra mi servidor de correo *autodiscover.art-website.com* con la cuenta *test@example.com*. Para ello, hay que hacer un POST con el siguiente XML: .. literalinclude:: autodiscover.xml :caption: Fichero ::download:`autodiscover.xml ` :language: xml Descargando el fichero anterior se puede hacer la prueba con CURL hacia https://autodiscover.art-website.com/AutoDiscover/AutoDiscover.xml mediante: .. code-block:: bash curl -X POST -H "Content-Type: text/xml" -d @autodiscover.xml https://autodiscover.art-website.com/AutoDiscover/AutoDiscover.xml La respuesta obtenida se ha generado con el siguiente script PHP que he obtenido de Internet y modificado un poco: .. literalinclude:: autodiscover.php :caption: Fichero ::download:`autodiscover.php ` :language: php Autoconfig - Thunderbird ========================= Para Thunderbird la configuración DNS es la siguiente: .. code-block:: text autoconfig CNAME autoconfig.art-website.com. El problema aquí es que la respuesta esperada es diferente a la de Outlook. La información detallada está en `Thunderbird:Autoconfiguration`_. Sólo me interesa contemplar la configuración del servidor IMAP y SMTP. Como test se puede usar la siguiente llamada con CURL: .. code-block:: bash curl "https://autoconfig.art-website.com/mail/config-v1.1.xml?emailaddress=info@art-website.com" La respuesta es: .. code-block:: xml art-website.com art-website.com art-website.com mail.art-website.com 993 SSL password-cleartext info@art-website.com mail.art-website.com 587 STARTTLS password-cleartext info@art-website.com El script PHP que genera esta respuesta es el siguiente: .. literalinclude:: thunderbird.php :caption: Fichero ::download:`thunderbird.php ` :language: php Configuración de Apache2 ======================== Para terminar la configuración es necesario poner los scripts en un sitio Web configurado con reglas de reescritura para que responda adecuadamente. En mi caso uso Apache2 con un único *VirtualHost* para ambos dominios. .. code-block:: apache :caption: Configuración de Apache2 ServerName autodiscover.art-website.com ServerAlias autoconfig.art-website.com ServerSignature Off Redirect permanent / https://autodiscover.art-website.com/ ServerName autodiscover.art-website.com ServerAlias autoconfig.art-website.com ServerAdmin hostmaster@art-website.com ServerSignature Off DocumentRoot /var/www/autodiscover.art-website.com SSLCertificateFile /etc/letsencrypt/live/autodiscover.art-website.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/autodiscover.art-website.com/privkey.pem RewriteEngine On # Regla para renovar el certificado con certbot/letsencrypt RewriteRule (^/\.well-known/acme-challenge/.*) $1 [L] # Regla para redirigir a la página de autodiscover RewriteCond %{REQUEST_FILENAME} mail/config-v1.1.xml.*$ RewriteRule ^.*$ thunderbird.php [NC,L] RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ autodiscover.php [NC,L] ErrorLog /var/log/apache2/autodiscover.art-website.com-error.log CustomLog /var/log/apache2/autodiscover.art-website.com-access.log combined ServerSignature On Referencias =========== #. `Microsoft Response (POX)`_ #. `Thunderbird:Autoconfiguration`_ #. `Autodiscover information for mail clients`_ #. `php-autodiscover `_ .. _`Microsoft Response (POX)` : https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/response-pox .. _`Thunderbird:Autoconfiguration`: https://wiki.mozilla.org/Thunderbird:Autoconfiguration:ConfigFileFormat .. _`Autodiscover information for mail clients`: https://docs.directadmin.com/other-hosting-services/email/autodiscover.html