Hallo,
Ich habe ein POP3-Postfach in dem verschiedene eMail-Adressen zusammenlaufen. Dieses Postfach wird regelmäßig von einem PHP-Skript "besucht", welches die eMails ausliest (konkret: Betreff der eMails, Absender der eMails und an wen welche eMail-Adresse die eMail gerichtet wurde).
Dabei werden alle Daten in einer Datenbank gespeichert. Das Skript funktioniert eigentlich ganz gut.
Problem habe ich nur bei den "Empfänger"-Adressen. Das Skript soll auch erfassen, an wen die eMail gerichtet war (da ja verschiedene eMail-Adressen in diesem Postfach landen).
Sendet jetzt jemand eine eMail an dieses Postfach (bzw. an eine Adresse, die in diesem Postfach landet) und es stehen im "Empfänger"-Teil des Headers noch mehrere Empfänger, gibts ein Problem. Das Skript speichert nur den ersten Empfänger der im Header steht, und das muss nicht gleich der eMail-Adresse sein, die auch im Postfach liegt.
Beispiel:
Absender test@test.de sendet eine eMail an Empfänger hallo@hallo.de und server@server.de
server@server.de landet im Postfach web01p1 (hallo@hallo.de irgendwo anders, gehört mir nicht)
Das Skript speichert nun in der Datenbank
Absender: test@test.de
Empfänger: hallo@hallo.de
Und das soll so nicht sein. In der Datenbank soll als Empfänger "meine" eMail-Adresse stehen.
Ich hab mir dafür mal den Header angeschaut. Unter "Received: ..." steht irgendwo der Eintrag "for
Weiss da jemand Rat???
Das Skript, wie es bisher den Empfänger ausliest sieht wie folgt aus:
Tausend dank schon mal im Voraus.
Ich habe ein POP3-Postfach in dem verschiedene eMail-Adressen zusammenlaufen. Dieses Postfach wird regelmäßig von einem PHP-Skript "besucht", welches die eMails ausliest (konkret: Betreff der eMails, Absender der eMails und an wen welche eMail-Adresse die eMail gerichtet wurde).
Dabei werden alle Daten in einer Datenbank gespeichert. Das Skript funktioniert eigentlich ganz gut.
Problem habe ich nur bei den "Empfänger"-Adressen. Das Skript soll auch erfassen, an wen die eMail gerichtet war (da ja verschiedene eMail-Adressen in diesem Postfach landen).
Sendet jetzt jemand eine eMail an dieses Postfach (bzw. an eine Adresse, die in diesem Postfach landet) und es stehen im "Empfänger"-Teil des Headers noch mehrere Empfänger, gibts ein Problem. Das Skript speichert nur den ersten Empfänger der im Header steht, und das muss nicht gleich der eMail-Adresse sein, die auch im Postfach liegt.
Beispiel:
Absender test@test.de sendet eine eMail an Empfänger hallo@hallo.de und server@server.de
server@server.de landet im Postfach web01p1 (hallo@hallo.de irgendwo anders, gehört mir nicht)
Das Skript speichert nun in der Datenbank
Absender: test@test.de
Empfänger: hallo@hallo.de
Und das soll so nicht sein. In der Datenbank soll als Empfänger "meine" eMail-Adresse stehen.
Ich hab mir dafür mal den Header angeschaut. Unter "Received: ..." steht irgendwo der Eintrag "for
Weiss da jemand Rat???
Das Skript, wie es bisher den Empfänger ausliest sieht wie folgt aus:
PHP-Code:
$header = imap_headerinfo($mbox, $i);
$toaddress = $header->to[0]->host;
$toname = $header->to[0]->mailbox;
$empfaenger= $toname."@".$toaddress;
Kommentar