sprachkonstrukt.de

nerdkram, design, fotografie & digital lifestyle

Monatsarchiv: Juli 2010

iPhone: Google Mail mit Push und mehreren Absenderadressen

Viele von uns haben ja über die Zeit mehrere verschiedene eMail-Accounts angesammelt. Google Mail macht es uns schon lange möglich, diese alle an einer Stelle zu sammeln und abzurufen – und auch zu senden, von verschiedenen Adressen. Dank IMAP unabhängig von einem bestimmten Computer.

Es könnte nun alles so einfach sein am iPhone (oder am iPad): Google-Zugangsdaten eintragen, alles wird automatisch konfiguriert, man hat alle Mails am iPhone, kann mit allen bei Google Mail eingetragenen Absenderadressen Mails verschicken, neue Mails kommen per Push rein und natürlich werden nebenbei noch Kalender und Adressbuch automatisch synchronisiert.

Leider ist es aber nicht so einfach. Dennoch ist eine solche Konfiguration mit ein wenig Aufwand realisierbar.

Ausgangslage

Wir benötigen:

  • Google-Mail-Account
  • iPhone mit aktueller Version von iOS (am iPad und iPod touch funktioniert es ähnlich)
  • unbenutzten E-Mail-Account (optional)

Den unbenutzten eMail-Account braucht man nur, um eine Fehlermeldung des iPhones zu verhindern. Wer z.B. eine eigene Domain hat und dort eMail-Adressen eingerichtet hat, die zu Google Mail führen, kann sich dort vermutlich auch einen POP3-Account anlegen. Möglichst einen ohne eigene eMail-Adresse, damit dort auch keine unerwünschte Mail ankommen kann (mit der weit verbreiteten Webspaceverwaltung Confixx beispielsweise kein Problem).

Des weiteren gehe ich davon aus, dass Google Mail bereits richtig konfiguriert ist (eine etwas ältere Anleitung gibts hier.

Push für Google Mail: Exchange macht’s möglich

Apple bietet seinen Push-Service, mit dem Mails ohne Abruf seitens des iPhones direkt ankommen (wie eine SMS), leider nur für den kostenpflichtigen Dienst MobileMe an – und für den Microsoft-Firmenserverdienst Exchange.
Glücklicherweise bietet Google Mail für das iPhone einen eMail-Abruf per Exchange-Protokoll an, wo wir dann die Pushfunktionalität haben.

Schritt 1: Exchange-Account einrichten

Hinweis: Ich übernehme keinerlei Verantwortung für Datenverlust o.ä. Das Tutorial geht davon aus, dass bereits alle eMails, Kalender und Adressen bei Google gespeichert sind und die Synchronisation dafür in iTunes deaktiviert ist.

Wir richten also unseren neuen Account am iPhone ein:

  1. Einstellungen → Mail, Kontakte, Kalender → Account hinzufügen …
  2. Microsoft Exchange wählen, NICHT Google Mail!
  3. Im Feld E-Mail und im Feld Benutzername geben wir jeweils die komplette Google-Mail-Adresse ein. Mit @googlemail.com-Endung, wenn man keinen amerikanischen @gmail.com-Account hat.
  4. Bei Kennwort benötigen wir das Google-Passwort, Domain bleibt leer und bei Beschreibung kann man eintragen, was man will. Anschließend drücken wir auf Nächstes.
  5. Im dann erschienenen Server-Feld geben wir m.google.com ein und drücken wieder auf Nächstes.
  6. Nun kann man die gewünschten Dienste wählen, wir aktivieren natürlich alle drei. Anschließend Sichern.
[caption id="attachment_550" align="aligncenter" width="550" caption="Der Google-Account wird als Microsoft-Exchange-Account eingerichtet."][/caption]

Die restlichen Einstellungen werden automatisch getroffen. Wenn nun eine Meldung kommt, dass da Passwort falsch ist, habt ihr vermutlich eine @gmail.com-Adresse eingetragen, obwohl ihr eigentlich eine @googlemail.com-Adresse habt. Dafür könnt ihr euch zwar bei Daniel Giersch beschweren, aber die Adresse müsst ihr trotzdem auf die in Deutschland übliche Form anpassen.

Schritt 2: Mehrere Kalender zur Synchronisation aktivieren

Hat man nur einen Google-Kalender, kann man diesen Schritt theoretisch überspringen. Ansonsten geht es jetzt daran, auszuwählen, welche Kalender synchronisiert werden. Dazu geht man folgendermaßen vor (direkt auf dem iPhone):

  1. Safari öffnen
  2. http://m.google.com/sync aufrufen und ggf. einloggen
  3. Bei der Meldung, dass Google Sync auf dem Gerät nicht unterstützt wird, auf Sprache ändern drücken und English (US) auswählen
  4. iPhone auswählen
  5. Häkchen bei den gewünschten Kalendern setzen und auf Save drücken
[caption id="attachment_551" align="aligncenter" width="550" caption="Für die Kalendereinstellungen muss die Sprache auf Englisch gestellt werden."][/caption]

Jetzt werden eMails, Kalendereinträge und Adressbuch schon richtig synchronisiert. Allerdings gibt es noch ein Problem.

Schritt 3: Mehrere Absenderadressen mit Google-Exchange

Am iPhone ist es aus unbekannten Gründen seitens Apple grundsätzlich nicht möglich, bei einem eMail-Account mehrere Absenderadressen (sog. Alias-Adressen) einzugeben – auf der Tastatur fehlt das Komma, um mehrere Adressen zu speparieren, wie es bei praktisch jedem Desktop-Client möglich ist.
Ein alter Trick ist hierfür, die eMail-Adressen mit Kommata getrennt z.B. in der Notizen-App einzugeben, zu kopieren und in den Mail-Einstellungen einzutragen. Bei POP- und IMAP-Accounts funktioniert das bestens – bei einem Exchange-Account ist das leider nicht möglich. Daher werden wir einen extra Account dafür anlegen.

  1. Notizen-App öffnen
  2. eMail-Aliase mit Kommata getrennt eingeben (ohne die Hauptadresse)
  3. Lange drauf drücken, um die Liste zu markieren („Auswählen“), anschließend Kopieren wählen
  4. Wieder in Einstellungen → Mail, Kontakte, Kalender → Account hinzufügen … wechseln
  5. Andere wählen, anschließend Mail-Account hinzufügen
  6. In den vier Feldern irgendetwas (z.B. a@b.de etc.) eingeben, anschließend Weiter
  7. Oben POP wählen; bei Adresse wieder lange drücken und die E-Mail-Adressenliste aus der Zwischenablage einfügen.
  8. Als Server für eintreffende E-Mails geben wir den eigens angelegten ungenutzten POP-Server ein; alternativ Fantasiedaten, dann kommt es allerdings ab und zu zu Fehlermeldungen
  9. Als Server für ausgehende E-Mails müssen wir den Google-Server smtp.googlemail.com eintragen, sowie wieder die vollständige Google-Mail-Adresse und das Passwort.
  10. Nach dem Sichern lässt sich das iPhone etwas Zeit, die Einstellungen zu überprüfen, hier ist etwas Geduld gefragt.
[caption id="attachment_553" align="aligncenter" width="550" caption="Ungenutzer POP-Server, Google-SMTP-Server"][/caption]

Der so angelegte Zusatz-Dummy-Account taucht nun neben dem Exchange-Account in der Accounts-Liste auf. Es empfiehlt sich, bei Datenabgleich unter Erweitert den eben angelegten Account noch auf manuellen Abruf zu stellen, sonst ruft das iPhone regelmäßig sinnloserweise den POP-Server ab, aber dort werden ja nie Mails ankommen, da der Abruf komplett über den Exchange-Account läuft.

[caption id="attachment_554" align="aligncenter" width="550" caption="Für Dummy-Accounts kann der Abruf auf „Manuell“ gestellt werden"][/caption]

Zusammenfassung & Probleme

Wir haben nun also den Google-Mail-Account als Exchange-Account eingerichtet, darüber werden wir eMails aller unserer bei Google Mail eingetragenen Adressen per Push aufs iPhone bekommen. Ebenso werden Kalender und Adressen vollautomatisch synchronisiert. Die entsprechenden Synchronisationsfunktionen dafür in iTunes sollten daher deaktiviert sein.
Um mehrere Absenderadressen verwenden zu können, haben wir einen weiteren Account eingerichtet, in dem alle Adressen eingetragen sind und über den eMails über den Google-SMTP-Server verschickt werden. Das mussten wir nur machen, weil es bei einem Exchange-Server nicht möglich ist, mehrere Absenderadressen einzutragen. Da das iPhone aber immer auch einen Eingangsserver zu jedem Ausgangsserver haben möchte, haben wir hier einen ungenutzten POP3-Account eingetragen, den wir z.B. über unseren Webhoster erstellt haben, aber auch ein beliebiger Gratis-Mail-Provider, der POP3 bietet, wäre hier möglich.
Übrigens ist es seit iOS 4.0 mit dieser Methode auch möglich, mehrere Google-Mail-Accounts einzurichten, da mittlerweile beliebig viele Exchange-Accounts eingerichtet werden können. Wer also noch einen Firmen-Exchange-Account hat, kann diesen ohne weiteres ebenfalls nutzen, da der in iOS 3 einzige vorhandene Exchange-Account jetzt nicht mehr von Google belegt wird.

Beim Verfassen einer neuen eMail am iPhone kann nun durch Drücken auf „Kopie/Blindkopie, Von: …“ und anschließend auf „Account“ die gewünschte Absenderadresse ausgewählt werden.

Diese Methode hat eigentlich nur noch zwei kleine Probleme: Adressbuchgruppen werden zur Zeit von Google Sync noch nicht unterstützt. Alle Google-Kontakte landen also in einer großen Liste auf dem iPhone. Ich kann damit aber ganz gut leben, dank Suchfunktion ist das kein großes Problem.
Das andere betrifft die Kalenderfarben. Da das verwendete CalDAV-Protokoll keine verschiedenen Farben für Kalender vorsieht, ist das immer eine clientseitige Einstellung. Während man beim Google-Kalender online und auch in iCal am Mac die Farben frei wählen kann, ist das beim iPhone leider noch nicht möglich – hier werden zufällig Farben vergeben.

Hat alles geklappt, freue ich mich übrigens über einen Kommentar oder einen Flattr-Klick :)

Dieses Tutorial wurde am 17.07.10 mit iOS 4.0.1 erstellt. Ich übernehme keinerlei Verantwortung für Datenverlust o.ä.

HTML5-Suche

HTML5 bietet ein paar nette neue Attribute, die zum Beispiel dem Suchfeld zugute kommen können:
<input type="search" … />
Der Wert search anstelle von text im type-Attribut des input-Elements bewirkt, dass der Browser erkennt, dass es sich um ein Suchfeld handelt, und nicht nur um ein x-beliebiges Eingabefeld.

[caption id="attachment_546" align="aligncenter" width="550" caption="Suchvorschläge in Chrome"][/caption]
Mit dieser Information wissen die Browser momentan noch unterschiedlich umzugehen: Microsoft-Browser wie üblich gar nicht, Chrome und Safari unter OS X aber machen das Suchfeld rund, wie in OS X gewohnt, und bieten eine Liste mit vorherigen Suchanfragen an.
Achja: alte Browser behandeln das Suchfeld wie ein normales Text-Eingabefeld, also keine Probleme von dieser Seite.

Eine andere nette Sache ist das Attribut pattern. Hier kann ein regulärer Ausdruck angegeben werden, nach dem der Eintrag matchen muss. Für das Suchfeld bietet sich hier etwas wie pattern=".+" an, wodurch mindestens ein Zeichen eingegeben muss. Dazu empfiehlt sich noch ein required="required", was im Prinzip das gleiche macht. Aber jeder Browser interpretiert natürlich mal wieder ein paar andere Attribute, man kennt das ja. Mit beidem ist man auf der sicheren Seite.

[caption id="attachment_547" align="aligncenter" width="550" caption="Opera weißt mit dem required-Attribut deutlich (und ein bisschen hässlich) darauf hin, wenn man versucht, eine leere Suchanfrage abzusetzen."][/caption]
Und noch etwas sinnvolles bietet HTML5: placeholder
Wollte man bisher einen Platzhalter in einem Eingabefeld haben, musste man zu Javascript greifen, damit der Text auch verschwindet, wenn man in das Feld klickt. Das placeholder-Attribut übergibt diese Aufgabe an den Browser.

[caption id="attachment_548" align="aligncenter" width="550" caption="placeholder in Chrome"][/caption]