PHP richtige eMail-Adresse aus Header filtern

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

ich schlage mich nun seit Stunden mit folgendem Problem herum.

Wenn man mir eine eMail schickt, lese ich den Header der eMail aus. So kann ich feststellen von wem die eMail kommt. Leider enthällt der Wert "From" kleine Mail-Adresse, sondern nur den Namen. Nun durchsuche ich den Header nach sämtliche eMail-Adressen und speicher diese in einem Array.
Code:

Nun muss ich irgendwie die richtige "Original"-Adresse herausfiltern. Hier im Beispiel das Element mit dem Index 3 oder 5. Problem ist aber, dass die Original-eMail-Adresse nicht immer in einen dieser beiden Elemente steht.

Hat jemand eine Idee, wie man trotzdem die richtige eMail-Adresse filtern kann?

Danke für die Hilfe!


Viele Grüße
Papenburger
 
Wenn DU schon alle Email Adressen filterst, solltest Du vorher schauen, ob im Header auch noch BCC und BC gesetzt sind.
Es könnte ja sein, das wie in Deinem Bsp. 3 oder 5 aus BC sein könnten!.

Du kannst doch den Header entsprechend der RFC für Mailaufbau filtern, oder nicht ?

Dann bekommst du schon einfach raus: FROM [| BC | BCC ]| TO [|...]| MESSAGE

Beschäftige Dich doch mal mit der RFC (RFC 5322)!
 
Wenn DU schon alle Email Adressen filterst, solltest Du vorher schauen, ob im Header auch noch BCC und BC gesetzt sind.

Wenn BCC und CC gesetzte sind, enthalten diese eMail-Adressen. Diese werden dann auch gefiltert. Man könnte dann direkt auf BCC oder CC abfragen, aber leider sind diese beiden nicht gesetzt, sodass ich nur den oben beschriebenen Weg gehen kann....
 
D.h. die oben gefundenen Adressen sind alle im FROM Feld ?
Es hat keiner etwas von einem Formular-Feld gesagt. Ich bekomme diese eMails von verschiedenen Personen. Diese eMails werden durch ein Script vom "meinem" eMail-Account abgeholt. Das Script kann ich leider nicht anpassen, da dies nicht auf meinem Server liegt...
Das Script stellt mir aber die Daten aus der Mail und auch den Heder entsprechend zur weiteren Verarbeitung zur Verfügung.

From: "NAME" <[email protected]> bzw.: From: [email protected] sollte der Aufbau im Header sein. Und da findest du die E-Mail Adresse ;)

So sollte er sein, ist er aber leider nicht. Das Element "From" existiert zwar, aber hier wird die eMail-Adresse nicht angezeigt bzw. wohl herausgefilter.

Wie oben schon geschrieben, habe ich keinen Zugriff auf das Script selbst, welches die eMails abholt. Daher denke ich, dass es hier keinen sinn macht, weiter zu posten.

Aus Urheberrechtlichen Gründen, kann ich auch kein Script bzw. auch keinen Auszug davon zur Verfügung stellen.

Werde mich dann wohl direkt an den zuständigen Entwickler wenden und überprüfen lassen ob die eMail-Adresse aus dem Form-Element gefiltert wird.


Trotzdem danke für eure Hilfe !
 
Hi,

auf phpclasses.org gibt es genug Scripte die das gleiche machen, und Dir die Daten zur weiteren Verarbeitung bereitstellen. MUSST Du denn auf diesen externen Service zurückgreifen?

Ansonsten KÖNNTE noch "Return-Path" die Absender-Adresse enthalten. Dass dort allerdings der tatsächliche Absender drin steht würde ich mich nicht verlassen.
 
Hi,

auf phpclasses.org gibt es genug Scripte die das gleiche machen, und Dir die Daten zur weiteren Verarbeitung bereitstellen. MUSST Du denn auf diesen externen Service zurückgreifen?

Ansonsten KÖNNTE noch "Return-Path" die Absender-Adresse enthalten. Dass dort allerdings der tatsächliche Absender drin steht würde ich mich nicht verlassen.

Ja leider muss ich dies...
Return-Path, das könnte vielleicht funktionieren. Ich probiere das zwischen den Feiertagen aus und melde mich dann noch mal.

Allen ein gesegnetes Fest !