Automatische Konfiguration von E-Mail-Konten

Üblicherweise muss eine Nutzerin beim Einrichten eines neuen E-Mail-Kontos in ihrem Mailprogramm alle Daten manuell eintragen. Allerdings lassen sich E-Mail-Konten auch automatisch konfigurieren. Dafür gibt es mehrere Wege:

Methode Entwickler Mail-Programme
Autoconfig Mozilla Thunderbird
Autodiscover Microsoft Outlook
SRV-Eintrag IETF Claws Mail

Autoconfig

Autoconfig ist Thunderbirds Methode für die automatische Einrichtung von E-Mail-Konten. Beim Einrichten eines neuen Kontos prüft Thunderbird, ob eine Konfigurationsdatei unter der Adresse http://autoconfig.example.org/mail/config-v1.1.xml verfügbar ist. Diese enthält alle für die automatische Einrichtung notwendigen Informationen.

Damit Autoconfig mit deinem Mailserver funktioniert, sind die folgenden Schritte notwendig:

  • Lege in den DNS-Einstellungen deines Domainanbieters einen neuen A-Eintrag mit dem Namen autoconfig.example.org. an.
  • Richte deinen Webserver so ein, dass er die Datei config-v1.1.xml korrekt ausliefert. Mit NGINX könnte das bspw. so aussehen:
    server {
        server_name autoconfig.example.org;
        listen 443 ssl;
        ssl_certificate /var/lib/dehydrated/certs/autoconfig.example.org/fullchain.pem;
        ssl_certificate_key /var/lib/dehydrated/certs/autoconfig.example.org/privkey.pem;
        root /var/www/autoconfig.example.org;
    }
  • Erstelle nun die Datei /var/www/autoconfig.example.org/config-v1.1.xml. Das Format der Datei ist vorgegeben. Ein Beispiel:
    <?xml version="1.0" encoding="UTF-8"?>
     
    <clientConfig version="1.1">
      <emailProvider id="example.org">
        <domain>%EMAILDOMAIN%</domain>
        <displayName>%EMAILDOMAIN% mail</displayName>
        <displayShortName>%EMAILDOMAIN%</displayShortName>
        <incomingServer type="imap">
          <hostname>imap.example.org</hostname>
          <port>993</port>
          <socketType>SSL</socketType>
          <authentication>password-cleartext</authentication>
          <username>%EMAILADDRESS%</username>
        </incomingServer>
       <incomingServer type="pop3">
          <hostname>pop.example.org</hostname>
          <port>995</port>
          <socketType>SSL</socketType>
          <authentication>password-cleartext</authentication>
          <username>%EMAILADDRESS%</username>
        </incomingServer>
        <outgoingServer type="smtp">
          <hostname>smtp.example.org</hostname>
          <port>465</port>
          <socketType>SSL</socketType>
          <authentication>password-cleartext</authentication>
          <username>%EMAILADDRESS%</username>
        </outgoingServer>
        <documentation url="https://hilfe.example.org">
          <descr lang="de">Hilfe zu den E-Mail Einstellungen</descr>
          <descr lang="en">help for e-mail configuration</descr>
        </documentation>
      </emailProvider>
    </clientConfig>

Autodiscover

Autodiscover ist Outlooks Variate zum automatischen Konfigurieren von E-Mail-Konten. Autodiscover versucht die Informationen in einer festgelegten Reihenfolge zu erhalten:

  1. Prüfung von Office 365 (Exchange Online)
  2. Active Directory – Service Connection Point (SCP)
  3. SRV Record _autodiscover._txp.example.org
  4. Lokale XML-Autodiscover-Datei

Am einfachsten wird in den meisten Fällen die Auslieferung der Autodiscover-Datei über die Location /autodiscover sein. Dadurch erspart man sich ie Einrichtung eines DNS-Eintrages. Die Schritte im Einzelnen:

  • Richte deinen Webserver so ein, dass er die Datei autodiscover.xml korrekt ausliefert. Mit NGINX könnte das bspw. so aussehen:
    server {
        server_name example.org;
        listen 443 ssl;
        ssl_certificate /var/lib/dehydrated/certs/autoconfig.example.org/fullchain.pem;
        ssl_certificate_key /var/lib/dehydrated/certs/autoconfig.example.org/privkey.pem;
        ...
        location ~ ^/autodiscover {
            root /var/www/autodiscover.example.org;
        }
    }
  • Erstelle nun die Datei /var/www/autodiscover/autodiscover. Das Format ist vorgegeben:
    <?xml version="1.0"?>
     
    <Autodiscover xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
        <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
            <Account>
                <AccountType>email</AccountType>
                <Action>settings</Action>
                <Protocol>
                    <Type>IMAP</Type>
                    <Server>imap.example.org</Server>
                    <Port>993</Port>
                    <SSL>on</SSL>
                    <DomainRequired>on</DomainRequired>
                    <SPA>off</SPA>
                    <AuthRequired>on</AuthRequired>
                </Protocol>
                <Protocol>
                    <Type>POP3</Type>
                    <Server>pop.example.org</Server>
                    <Port>995</Port>
                    <SSL>on</SSL>
                     <DomainRequired>on</DomainRequired>
                    <SPA>off</SPA>
                    <AuthRequired>on</AuthRequired>
                </Protocol>
                <Protocol>
                    <Type>SMTP</Type>
                    <Server>smtp.example.org</Server>
                    <Port>465</Port>
                    <SSL>on</SSL>
                    <DomainRequired>on</DomainRequired>
                    <SPA>off</SPA>
                    <AuthRequired>on</AuthRequired>
                </Protocol>
            </Account>
        </Response>
    </Autodiscover>

SRV-Eintrag

Einige Mailclients, wie bspw. Claws Mail unterstützen die Einrichtung per SRV_Resource_Record. Die Einträge müssen nach folgendem Muster aufgebaut sein:

Eintrag Ziel
_imaps._tcp.example.org imap.example.org:993
_pop3s._tcp.example.org pop.example.org:995
_submission._tcp.example.org smtp.example.:465