Mails mit bestimmtem Empfänger aus Catchall-Postfach auslesen

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

  • Mails mit bestimmtem Empfänger aus Catchall-Postfach auslesen

    Hallo liebe Leute,

    ich würde gerne ein Script erstellen, welches es möglich macht, aus einem Catchall-POP-Postfach, Emails auszulesen, die an einen bestimmten Empfänger gerichtet waren.

    Beispiel:

    Ich habe die Emailadresse postfach@domain.de und lasse alle Mails, die an *@domain.de gesandt werden, dort sammeln (Catchall). Jetzt möchte ich, dass mein Websitebenutzer "Fred" sich bei uns einloggen kann (das alles steht schon) und alle Emails, die an fred@domain.de geschickt wurden, aus diesem Catchall-Postfach auslesen kann. Die Zugangsdaten zu diesem Postfach werden in einer Config gespeichert, der Benutzer braucht also keine Eingaben machen.


    Ist so etwas möglich? Wenn ja: Könnt ihr vielleicht mit Beispielen, Links oder Codeschnipseln aushelfen?


    Liebe Grüße



    Roman

  • #2
    Guckst du hier. Gilt auch POP3.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo,

      erst einmal vielen Dank... Ich habe jetzt herausgefunden, wie ich Emails abrufe und in einer Tabelle darstelle...

      PHP-Code:
      <?php
        
      function show_mails($server$konto$paswd)
        { 
          
      $mailbox imap_open("{".$server.":110/pop3}INBOX"$konto$paswd);
          
      $mails imap_fetch_overview($mailbox,"1:*"FT_UID); // Übersicht abholen
           
          // Tabelle erstellen
          
      $return '<table width="100%">
                       <tr>
                         <td>#</td>
                         <td>Von</td>
                         <td>Datum / Zeit</td>
                         <td>Betr.</td>
                       </tr>'
      ;
          
      $size=count($mails); // Anzahl
          
      $cmsg 0// Fortl. Nr. 
          
      for($i=$size-1;$i>=0;$i--)
          { 
            
      $cmsg++;
            
      $value $mails[$i];
            
      $return .= '<tr><td>'.$cmsg.'</td><td>'.$value->from.'</td><td>'.$value->date.'</td><td>'.$value->subject.'</td></tr>';           
          }
          
      $return .= '</table>'
          
      imap_close($mailbox);
          RETURN 
      $return;
        }
        
        function 
      show_mail($id$server$konto$paswd)
        {
          
      $mailbox imap_open("{".$server.":110/pop3}INBOX"$konto$paswd);
          
      $mail imap_body($mailbox,$idFT_UID);
          
      // Holt die Email..  
          
      $mail htmlentities(stripslashes($mail));
          
      /* stripslashes entfernt die slashes, htmlentities wandelt alle html-zeichen in entspr. html-codes um. */
          
      $return '<pre>'.$mail.'</pre>';   
          
      imap_close($mailbox);  
          return 
      $return;
        }
        
        if(isset(
      $_GET['id']))   
          if(
      is_numeric($_GET['id']))
            echo 
      show_mail($_GET['id'], "Server""Kontonummer""Passwort");
          else
            echo 
      'Fehler - Falsche Parameter angegeben';        
        else
          echo 
      show_mails("Server""Konton""Passwort");   
      ?>
      Doch dies stellt mir ja alle Emails dar - wie kann ich Emails darstellen, die an einen bestimmten Empfänger gerichtet waren, z.B. "test@domain.de", während Emails, die an "test123@domain.de" gerichtet waren, aber in einem Catchallpostfach zusammen gelandet sind, außen vor bleiben?


      LG


      Roman

      Kommentar


      • #4
        Wenn du "from" ausgeben kannst, dann kannst du vielleicht auch das Gegenteil abfragen ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Danke für Deine Antwort, doch wenn ich "to" prüfen lasse, kann es ja auch zu so etwas kommen:

          test@domain.de -> okay

          =?UTF-8?B?Um9tYW4gTG9zc2luLUJlJnN6bGlnO2xlcg==? -> Nicht okay, war aber ursprünglich an test@domain.de gerichtet

          test -> Nicht okay

          test@domain.de -> okay

          In diesem Falle würden ja nur 2 Emails auch wirklich angezeigt...

          LG


          Roman

          Kommentar


          • #6
            Zitat von DerRoman Beitrag anzeigen
            =?UTF-8?B?Um9tYW4gTG9zc2luLUJlJnN6bGlnO2xlcg==? -> Nicht okay, war aber ursprünglich an test@domain.de gerichtet
            Dekodiers halt, dann passt's.

            test -> Nicht okay
            Ergänze es mit der Standarddomain des Mailservers. Wenns es dadurch zu test@domain.de wird, passt's auch. Wenn nicht, war die Mail halt an jemand anderen.

            Kommentar

            Lädt...
            X