Mails von anderen Postfächern einsammeln

Seit einiger Zeit möchte ich gerne von Diensten wie Google Mail und Co. wegkommen. Dazu tragen mittlerweile auch die Enthüllungen aller PRISM und Tempora bei. Ein Feature welches sich bei Google Mail als sehr praktisch erwiesen hat, ist das Einsammeln von der Mails anderer Mailkonten. Nun ist es nicht so das es sich bei diesem Feature um Magie handelt, so das es Nahe lag das ganze in PHP nachzubauen:

<?php
  //Licensed under AGPL
  //by seeseekey

  //Configuration
  //Accounts to collect
  $collectAccounts["test@example.org"]["server"]="{mail.example.org/novalidate-cert}INBOX";
  $collectAccounts["test@example.org"]["username"]="user";
  $collectAccounts["test@example.org"]["passwort"]="secret";

  $collectAccounts["spam@example.org"]["server"]="{mail.example.org/novalidate-cert}INBOX";
  $collectAccounts["spam@example.org"]["username"]="user";
  $collectAccounts["spam@example.org"]["passwort"]="secret";

  //Target server
  $targetServer = "{mail.example.org/ssl/novalidate-cert}";
  $targetUsername = "user";
  $targetPassword = "secret";

  //Operate
  $mboxTarget = imap_open($targetServer, $targetUsername, $targetPassword) or die ("Failed with error: " . imap_last_error());

  //Quellpostfächer öffnen
  while (list($key,$value) = each($collectAccounts))
  {
    $mboxSource = imap_open($value["server"], $value["username"], $value["passwort"]) or die ("Failed with error: ".imap_last_error());
    $mailboxInformation = imap_check($mboxSource);
    $overviewSourceMailBox = imap_fetch_overview($mboxSource, "1:{$mailboxInformation->Nmsgs}", 0);

    //Create folder
    imap_createmailbox($mboxTarget, imap_utf7_encode("$targetServer$key"));

    foreach ($overviewSourceMailBox as $overview)
    {
      $message = imap_fetchheader($mboxSource, $overview->msgno) . imap_body($mboxSource, $overview->msgno);

      if(!imap_append($mboxTarget, mb_convert_encoding("$targetServer$key" . "" . "", "UTF7-IMAP", "ISO-8859-1"), $message,""))
      {
        die ("Error: ". imap_last_error());
      }

      //Mark mail from source mailbox as deleted
      imap_delete($mboxSource, $overview->msgno);
      }

    //Delete all marked mails and close connection to source mailbox
    imap_expunge($mboxSource);
    imap_close($mboxSource);
  }

  imap_close($mboxTarget);
?>

In dem Skript gibt man dabei oben die Konten an von welchen eingesammelt werden soll. Daneben wird natürlich auch das Zielkonto definiert. Der erste Parameter von “$collectAccounts” definiert dabei den Ordner in welchen die Mails im Zielkonto geschoben werden. Der Quellcode ist auf GitHub zu finden und steht unter der AGPL.

Gmail, der “Chats”-Ordner und IMAP

Da ich GMail auch per IMAP nutze, war ich recht verwundert, das der Ordner “Chats” nicht auftauchte. Nachdem ich ausgeschlossen hatte, das Thunderbird das Problem ist, blieb nur noch Gmail übrig. In den Einstellungen unter “Labels” fand sich dann der Übeltäter.

Dort muss der Haken bei “In IMAP anzeigen” ausgewählt sein. Danach klappt es auch mit dem IMAP im Thunderbird.

Wheelmap Spot

Da ist er endlich, der Wheelmap (http://wheelmap.org/) Spot :) Finanziert von Google (trotz der OpenStreetMap Basis von Wheelmap), aber dafür sehen wir ja Google Mail und Chrome ;)

https://www.youtube.com/watch?v=u7ddxtFK1T8

Kleines Detail am Rande, eigentlich sollte ursprünglich Rampensau statt Wegbereiter am Ende stehen ;)

Weitere Informationen gibt es unter:
http://www.golem.de/1109/86616.html

Probleme mit CyanogenMod 7.0 und Google Mail

CyanogenMod 7 (basierend auf Gingerbread 2.3.3) ist ja vor einigen Tagen erschienen. Die Google Apps werden dabei automatisch aus dem Market installiert. Das Problem ist das Google Mail aus dem deutschen Market heraus nicht erreichbar ist. Hier hilft die App Market Enabler mit der man seine SIM ID auf einen US Provider stellt und anschließend Google Mail installieren kann. Problem gelöst :)

Weitere Informationen gibt es unter:
http://www.cyanogenmod.com/

Google Mail und POP3 sowie IMAP

Google Mail kann man seit einiger Zeit auch per POP3 sowie IMAP benutzen. Dazu sind natürlich die passenden Server notwendig die wie folgt lauten:

POP3
Server: pop.gmail.com
Port: 995
SSL: Ja

Benutzername: “Google Mail Adresse”
Password: “Google Mail Passwort”

SMTP
Server: smtp.gmail.com
Port: 465 or 587
SSL: Ja
Require SMTP authentication: Yes

Benutzername: “Google Mail Adresse”
Password: “Google Mail Passwort”

IMAP
Server: imap.gmail.com
Port: 993
SSL: Ja

Benutzername: “Google Mail Adresse”
Password: “Google Mail Passwort”