Ankündigung

Einklappen
Keine Ankündigung bisher.

[LÖSUNG] e-Mail2sql bzw IMAP2sql

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [LÖSUNG] e-Mail2sql bzw IMAP2sql

    Moin moin,
    was ich wollte war es, das ein Script ein IMAP Mail-Konto abruft und
    diese Mails in eine DB schreibt. Das bekomme ich mittels dieses
    scripts auch hin:
    Code:
    <?php
    
    require ("dbconfiguration.php");
    
    $Mailbox = "{imap.meinprovider.de:143/notls}INBOX";
    $Benutzername = "meinemail@endorphinum.de";
    $Passwort = "******";
    $MailboxPointer = imap_open($Mailbox, $Benutzername, $Passwort);
    if($MailboxPointer)
    {
    
        $Headers = imap_headers($MailboxPointer);
        
        $numEmails = sizeof($Headers);
        echo "You have $numEmails in your mailbox
    
    ";
    
        if($Headers != false)
        {
        for($i = 1; $i < $numEmails+1; $i++)
          {
          $mailHeader = @imap_headerinfo($MailboxPointer, $i);
          $from = $mailHeader->fromaddress;
          $toaddress = $mailHeader->toaddress;
          $senderaddress = $mailHeader->senderaddress;
          $subject = strip_tags($mailHeader->subject);
          $date = $mailHeader->date;
          echo "Email from $from, subject $subject, date $date -- $senderaddress
    ";
          $body = imap_body($MailboxPointer,$i);       
          // BODY auf 200 Zeichen trimmen
          //$body = trim(substr(imap_body($MailboxPointer, $i), 0, 220));
          echo $body;
          echo "
    
    ";
          
          //Datum aufsplitten
             list($dayName,$day,$month,$year,$time) = split(" ",$date); 
            $time = substr($time,0,8);
          //Monatsname in Zahl umformatieren
            switch($month){
                case("Jan"): $month = "01"; 
                case("Feb"): $month = "02";
                case("Mar"): $month = "03";
                case("Apr"): $month = "04"; 
                case("May"): $month = "05"; 
                case("Jun"): $month = "06"; 
                case("Jul"): $month = "07"; 
                case("Aug"): $month = "08"; 
                case("Sep"): $month = "09"; 
                case("Okt"): $month = "10"; 
                case("Nov"): $month = "11"; 
                case("Dec"): $month = "12"; 
            } 
            $date = $year ."-". $month ."-". $day . " ". $time;  
    
          // ----------------------------------------------- 
          // --------- ADD TO DB
          // ----------------------------------------------- 
          $userid = "1";
          $mmstext = $body;
    
            mysql_query("INSERT INTO mmsblog
                        (userid,datum,zeit,nachricht)
                        VALUES
                        ('$userid','$date','$time','$mmstext')
                        ");
        }
        imap_close($MailboxPointer);
    }
    else
    {
        echo"Keine Verbindung zum Mail-Postfach!";
    }
    ?>
    Jetzt stellt sich mir nur die Frage wie und wo ich die MIME Funktion
    zum abfragen von Bildern einbaue. In meine IF Schleife oder ganz
    woanders? Kann mir jemand vielleicht helfen?

    Beste Grüsse vom schwülen Hamburch,
    Carlos


  • #2
    Und wo ist jetzt die Lösung?

    Übrigens:
    http://www.php-faq.de/q/q-terminologie-if.html

    Kommentar


    • #3
      Zitat von Zergling
      Und wo ist jetzt die Lösung?

      Übrigens:
      http://www.php-faq.de/q/q-terminologie-if.html
      *smile* das ist doch die erste Lösung - mir fehlt jetzt nur der zweite Schritt.
      Wenn Du im Netz mal nach danach suchst wie man mittels eMail oder MMS via
      Mobeiltelefon bloggen kann, wirst Du feststellen das es da nicht allzu viel gibt.

      Deswegen habe ich mich da rangesetzt und das ganze so einfach wie möglich
      gehalten. Jetzt möchte ich eigentlich nur noch die Option haben aus dem ganzen
      halt auch via MIME ein angehängtes JPG anzuzeigen.

      Weisst Du zufällig wie das gehen könnte? Theoretisch sehe ich eine MIME dekodierung
      die das Bild auf dem Server und parallen den Bildnamen in die Datenbank
      abspeichert. Nur in der Praxis scheitere ich derweil schon daran das Bild überhaupt
      anzeigen zu lassen

      Kommentar


      • #4
        Antwort näher gekommen

        Moin moin,
        ich komme meiner Antwort langsam näher. Auch weil ich jetzt heraus
        gefunden habe das das MIME encoding von MMS Mails (via Handy)
        anders ist als eine normale Mail.

        Hängt das vom Provider ab, oder von der Einstellung des Clients;
        in diesem Fall vom Handy? Weiss das jemand?

        Ich bekomme mittlerweile das hier als Ergebnis:

        Code:
        SUB: =?UTF-8?B?MTowMDAw?=
        TO : mms@endorphinum.de
        ToOther : meine-handynummer@vodafone.de
        ToName Other :
        From : meine-handynummer@vodafone.de
        FromName :
        Maildate: 7-Jul-2007 22:36:16 +0200
        DAS ATTACHMENTE LAUTET:
        Das SUB (Mail-Betreff), habe ich mittels imap_utf8
        und UTF-8 decode umwandeln können.
        Allerdings finde ich jetzt nicht das Attachment.

        Was mich wundert, ist das das encoding des Betreffs,
        als auch des Anhangs (JPG-Bild) gleich sind, wie sich
        aus dem Mail-Heaer entnehmen lässt:
        Code:
        --a24d9939767d7:373
        Content-Type: text/plain;
        charset="UTF-8"
        Content-transfer-encoding: Base64
        SGFsbG8gYXVzIG9zdGVycw==
        
        --a24d9939767d7:373
        Content-Type: image/jpeg;
        name="=?UTF-8?B?QmlsZDAwMC5qcGc=?="
        Content-transfer-encoding: Base64
        Wäre super wenn mir da jemand helfen könnte.

        Ich probiere das ganze parallel mit dem IMAP script
        von Mitul Koradia aus, vielleicht kann das dann ja jemand
        gebrauchen um auch MMS' abzurufen.

        Seid herzlichst gegrüsst und ein schönes Wochenende,

        Carlos

        Kommentar

        Lädt...
        X