eMail Weiterleitung

mC pAiN

Erfahrenes Mitglied
Hallo,

ich habe ein Script, das mein eMail-Postfach ausliest und den Betreff nach bestimmten Kriterien durchforstet. Wenn ein gewünschter Betreff dabei ist, wird die Mail ausgegeben ansonsten soll sie auf ein anderes Postfach weitergeleitet werden. Aber wie bekomme ich das hin? Bei den imap-Funktionen finde ich nichts brauchbares. Ich weiß nicht ob man mit imap_mail_move() auf eine neues Posfach (evl. von anderem Anbieter) kommt...
 
so hatte ich es auch erst versucht. Aber ich habe ja eine for-Schleife in der ich die einzelnen eMail-Nummern durchgehe. Was soll ich in der mail()-Funktion dann für einen Text nehmen? Ich bekomme dann HTML-Mails nicht korrekt angezeigt...
 
Das Problem ist ja, dass die gewünschten Mails, die ich weiterverarbeite im Text-Format sind. Da habe ich dann Funktionen, die die Mails durchegehen und wichtige Daten aus ihr heraus holen.
Diese Funktionen kann ich ja bei den anderen Mails nicht benutzen. Sie sollen einfach ungelesen weitergeleitet werden!
 
das hatte ich mir ja angeschaut. Habe es ja auch in Benutzung. Hier mal ein Ausschnitt aus meinem Script:

PHP:
for($curMsg; $curMsg <= ($check->Nmsgs); $curMsg++) {

    $header   = imap_headerinfo($mbox, $curMsg, 80, 80);             // eMail Header auslesen
    $from     = $header->from;                                       // Absender (ungeordnet)
    $subject  = $header->fetchsubject;
    $fromaddr = sprintf("%s@%s", $from[0]->mailbox, $from[0]->host); // Absender (geordnet nach mailbox@host)
    $udate    = $header->udate;                                      // Sendezeitpunkt der eMail (ungeordnet)
    $datum    = Date("Y-m-d", $udate);                               // Sendezeitpunkt (Datum)
    $uhrzeit  = Date("H:i", $udate);                                 // Sendezeitpunkt (Uhrzeit)

       if($fromaddr == "gewünschter Betreff") {
        $msg     = viewmails($curMsg); // selber geschriebene Funktion um den Body zurückzugeben
        $msg_neu = sonderzeichen($msg); // Sonderzeichen übersetzen
        search($msg_neu, $datum, $uhrzeit, $curMsg, $mbox); // gewünschte Daten in DB schreiben
        imap_delete($mbox, $curMsg);
        imap_expunge($mbox);
    } // ENDE if

    else {
          $msg2     = viewmails($curMsg);
          $msg_neu2 = sonderzeichen($msg2);
          $headers  = "MIME-Version: 1.0\r\n";
          $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
          $headers .= "From: ".$fromaddr ."\r\n";
          mail($vkmail, $subject, $msg_neu2, $headers);
          imap_delete($mbox, $curMsg);
          imap_expunge($mbox);
          break;
    }

  } // ENDE for

Aber wenn der else-Zweig kommt, schickt er

a) die Mail zweimal weiter (warum auch immer)
b) HTML-Mails werden nicht korrekt angezeigt (Buchstabensalat + unformatier)
 
Zurück