automx howto

gaengige mailclients beherrschen heute die automatische konfiguration der einstellungen anhand der eingegebenen benutzerdaten (emailadresse und passwort).

335x80xlogo_automx

das projekt automx.org hat sich der “sache” angenommen, damit nicht jeder sein setup selber erfinden muss. die insstallation gestaltet sich (stand heute) etwas schwierig, da die dokumentation nicht ganz up to date ist. ein debian paket fuer die aktuelle version gibt es derzeit nicht, aber ich konnte mir mit ein paar kruecken mit dem ubuntu paket auf meinem squeeze weiterhelfen. da ich mir nicht notiert habe, was ich zur installation alles gemacht habe, beschreibe ich das hier auch nicht naeher. ich denke mal, dass jeder, der ein solches setup haben will auch ein bischen vorwissen und basteltrieb bzgl. linux und softwareinstallation hat 😉

ausgegangen von folgendem setup: eine domain, postfix mit mysql backend – ergibt sich fuer mich folgende configdatei (/etc/automx.conf – basierend auf automx version 0.9, relevante kommentare in der datei selbst)

[automx]
provider = domain.tld
# alternativ zum wildcard (*) koennen die domains mit
# komma getrennt angegeben werden
domains = *
 
debug = yes
# verzeichnis muss erstellt werden und owner der webserver 
# user sein. berechtigung 750. 
# logrotate nicht vergessen zu konfigurieren!
logfile = /var/log/automx/automx.log
 
# Protect against DoS
# default einstellungen
memcache = 127.0.0.1:11211
memcache_ttl = 600
client_error_limit = 20
rate_limit_exception_networks = 127.0.0.0/8, ::1/128
 
# The DEFAULT section is always merged into each other
# section. Each section can overwrite settings done here.
[DEFAULT]
account_type = email
account_name = domain.tld
account_name_short = domain.tld
 
# If a domain is listed in the automx section, it may have 
# its own section. If none is found here, the global section 
# is used.
[global]
backend = sql
action = settings
 
# datenbankverbindung
host = mysql://user:password@dbserver.domain.tld/databse
 
# die abfrage muss den eigenen begebenheiten angepasst werden
query = SELECT user FROM qry_mailaddresses WHERE user='%s';
 
# das ergebnis mit "result_attrs" einer variablen zuweisen
# mehrere spalten im ergebnis mit komma getrennt
# im weiteren kann diese variable so benutzt werden: ${user}
result_attrs = user
 
smtp = yes
smtp_server = mail.domain.tld
smtp_port = 25
smtp_encryption = starttls
smtp_auth = plaintext
smtp_auth_identity = ${user}
smtp_expiration_date = 20131231
smtp_refresh_ttl = 6
smtp_default = yes
 
pop = yes
pop_server = mail.domain.tld
pop_port = 995
pop_encryption = ssl
pop_auth = plaintext
pop_auth_identity = ${user}
pop_expiration_date = 20131231
pop_refresh_ttl = 6
 
imap = yes
imap_server = mail.domain.tld
imap_port = 993
imap_encryption = ssl
imap_auth = plaintext
imap_auth_identity = ${user}
imap_expiration_date = 20131231
imap_refresh_ttl = 6

hinweis: die reihenfolge der einstellungen bestimmt auch die default auswahl im mailclient. d.h. wenn der bereich mit den imap einstellungen vor pop genannt wird, zeigt z.b. thunderbird imap und pop3 als option an, aber imap ist als standard ausgewaehlt… und umgekehrt.

damit die mailclients den service finden, muessen in der entsprechenden zone (hier domain.tld) folgende eintraege gemacht werden (natuerlich an die eigenen gegebenheiten angepasst):

autoconfig      IN    A     xxx.xxx.xxx.xxx
autodiscover    IN    A     xxx.xxx.xxx.xxx

in der apache konfiguration ist entgegen der anleitung die datei “automx.wsgi” zu ersetzen durch “automx_wsgi.py”. meine apache config sieht dann ungefaehr so aus:

<VirtualHost xxx.xxx.xxx.xxx:80>
  ServerName autoconfig.domain.tld
  ServerAdmin webmaster@domain.tld
  <IfModule mod_wsgi.c>
    WSGIScriptAlias /mail/config-v1.1.xml /usr/local/lib/automx/automx_wsgi.py
    <Directory "/usr/local/lib/automx">
      Order allow,deny
      Allow from all
    </Directory>
  </IfModule>
</VirtualHost>
 
<VirtualHost xxx.xxx.xxx.xxx:443>
  ServerName autoconfig.domain.tld:443
  ServerAdmin webmaster@domain.tld
  <IfModule mod_wsgi.c>
    WSGIScriptAlias /Autodiscover/Autodiscover.xml /usr/local/lib/automx/automx_wsgi.py
    WSGIScriptAlias /autodiscover/autodiscover.xml /usr/local/lib/automx/automx_wsgi.py
    <Directory "/usr/local/lib/automx">
      Order allow,deny
      Allow from all
    </Directory>
  </IfModule>
</VirtualHost>

das entsprechende modul wsgi muss natuerlich installiert und anschliessend mit diesem befehl aktiviert werden:

a2enmod wsgi

apache neu starten und gut.

mit dem mitgelieferten prograemmchen “automx-test” und der mailadresse als parameter kann man das ergebnis ueberpruefen. alternativ kann man z.b. die autoconfig url manuell aufrufen und sich das ergebis im browser ansehen:

https://autoconfig.domain.tld/mail/config-v1.1.xml?emailaddress=bla@domain.tld

das ergebnis sollte mit obiger config dann so aussehen:

<clientConfig version="1.1">
  <emailProvider id="domain.tld">
    <domain>domain.tld</domain>
    <displayName>domain.tld</displayName>
    <displayShortName>domain.tld</displayShortName>
    <outgoingServer type="smtp">
      <hostname>mail.domain.tld</hostname>
      <port>25</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-cleartext</authentication>
      <username>bla@domain.tld</username>
      <useGlobalPreferredServer>yes</useGlobalPreferredServer>
    </outgoingServer>
    <incomingServer type="pop3">
      <hostname>mail.domain.tld</hostname>
      <port>995</port>
      <socketType>SSL</socketType>
      <authentication>password-cleartext</authentication>
      <username>bla@domain.tld</username>
    </incomingServer>
    <incomingServer type="imap">
      <hostname>mail.domain.tld</hostname>
      <port>993</port>
      <socketType>SSL</socketType>
      <authentication>password-cleartext</authentication>
      <username>bla@domain.tld</username>
    </incomingServer>
  </emailProvider>
</clientConfig>

und dann kanns losgehen… z.b. mit dem thunderbird ein neues mailkonto anlegen:

20130325_automxtest1

wenn da geschrieben steht: “Einstellungen wurden bei Ihrem Anbieter des E-Mail-Dienstes geunden”, funktioniert das ganze. wie oben beschrieben, ist hier nun pop3 vorausgewaehlt, weil pop3 in der xml antwort vor imap genannt ist.

20130325_automxtest2

ein klick auf “Manuell bearbeiten” gibt alle details preis. idealerweise genau so, wie sie von automx zurueck gegeben werden 😉

20130325_automxtest3

(und im gegensatz zu outlook stimmen hier auch die einstellungen, wenn man manuell auf imap umstellt. aber outlook und das microsoftsche autodiscover ist sowieso ein ganz anderes thema. das wird ein gesonderter und wahrscheinlich langer blog eintrag mit vielen wenns und abers. und in einer “multidomain umgebung” ists dann ganz vorbei mit lustig…)

25. March 2013 by sd
Categories: Uncategorized | Tags: , , , | 1 comment

One Comment

  1. Pingback: automx and multiple domain names | i live in my own little world, but it's ok... they know me here

Leave a Reply

Required fields are marked *