wiki/HowtoMail/Autoconfig.md
2022-12-02 16:17:48 +01:00

5.7 KiB

RFC6186 + RFC8314

La méthode d'autoconfiguration des clients de courriel la plus répandue est définie dans la RFC6186 et la RFC8314 qui rajoute le support du TLS à la première.

Thunderbird

Pour générer un fichier d'autoconfiguration pour Thunderbird :

hostname=mail00.example.com
imap_server=imap.example.com
imap_port=993
smtp_server=smtp.example.com
smtp_port=597

cat <<EOF
<?xml version="1.0"?>
<clientConfig version="1.1">
    <emailProvider id="mail02.evolix.net">
      <domain>${hostname}</domain>
      <displayName>Service de messagerie électronique ${hostname}</displayName>
      <displayShortName>${hostname}</displayShortName>
      <incomingServer type="imap">
         <hostname>${imap_server}</hostname>
         <port>${imap_port}</port>
         <socketType>SSL</socketType>
         <authentication>password-cleartext</authentication>
         <username>%EMAILADDRESS%</username>
      </incomingServer>
      <outgoingServer type="smtp">
         <hostname>${smtp_server}</hostname>
         <port>${smtp_port}</port>
         <socketType>SSL</socketType>
         <username>%EMAILADDRESS%</username>
         <authentication>password-cleartext</authentication>
      </outgoingServer>
    </emailProvider>
</clientConfig>
EOF

Malheuresement, Mozilla Thunderbird est le principal client mail qui ne supporte pas (encore ? ) la RFC6186, on ne peut donc pas mettre en place de l'autoconfiguration juste en changeant des entrées DNS.

Outlook (Autodiscover)

Depuis au moins 2016, Outlook supporte la RFC6186, ce qui pratique quand on veux configurer l'autconfiguration des clients de courriels exclusivement par DNS.

La documentation du fonctionnement d'Autodiscover ainsi que la description du format de configuration est documenté par Microsoft ici et .

Pour générer un fichier d'autoconfiguration pour Outlook :

imap_server=imap.example.com
imap_port=993
smtp_server=smtp.example.com
smtp_port=597

cat <<EOF
<Autodiscover 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_server}</Server>
        <Port>${imap_port}</Port>
        <DomainRequired>on</DomainRequired>
        <SPA>off</SPA>
        <SSL>on</SSL>
        <AuthRequired>on</AuthRequired>
      </Protocol>
      <Protocol>
        <Type>SMTP</Type>
        <Server>${smtp_server}</Server>
        <Port>${smtp_port}</Port>
        <DomainRequired>on</DomainRequired>
        <SPA>off</SPA>
        <SSL>on</SSL>
        <AuthRequired>on</AuthRequired>
      </Protocol>
    </Account>
  </Response>
</Autodiscover>
EOF

Apple

Pour générer un fichier d'autoconfiguration pour les clients mails d'Apple :

hostname=mail00.example.com
hostname_reverse=$(echo "$hostname" | tr . '\n' | tac | tr '\n' . | sed 's/.$//')
imap_server=imap.example.com
imap_port=993
smtp_server=smtp.example.com
smtp_port=597

cat <<EOF
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>EmailAccountType</key>
            <string>EmailTypeIMAP</string>
            <key>IncomingMailServerAuthentication</key>
            <string>EmailAuthPassword</string>
            <key>IncomingMailServerHostName</key>
            <string>${imap_server}</string>
            <key>IncomingMailServerPortNumber</key>
            <integer>${imap_port}</integer>
            <key>IncomingMailServerUseSSL</key>
            <true/>

            <key>OutgoingMailServerAuthentication</key>
            <string>EmailAuthPassword</string>
            <key>OutgoingMailServerHostName</key>
            <string>${smtp_server}</string>
            <key>OutgoingMailServerPortNumber</key>
            <integer>${smtp_port}</integer>
            <key>OutgoingMailServerUseSSL</key>
            <true/>
            <key>OutgoingPasswordSameAsIncomingPassword</key>
            <true/>

            <key>PayloadDisplayName</key>
            <string>Email autoconfiguration profile</string>
            <key>PayloadIdentifier</key>
            <string>${hostname_reverse}</string>
            <key>PayloadType</key>
            <string>com.apple.mail.managed</string>
            <key>PayloadUUID</key>
            <string>$(uuidgen)</string>
            <key>PayloadVersion</key>
            <real>1</real>
            <key>SMIMEEnablePerMessageSwitch</key>
            <false/>
            <key>SMIMEEnabled</key>
            <false/>
            <key>disableMailRecentsSyncing</key>
            <false/>
        </dict>
    </array>
    <key>PayloadDisplayName</key>
    <string>Email autoconfiguration</string>
    <key>PayloadIdentifier</key>
    <string>${hostname_reverse}</string>
    <key>PayloadRemovalDisallowed</key>
    <false/>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>$(uuidgen)</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>
EOF