Emails auslesen
Thorsten
- php
Hallo,
wie realisiere ich am besten ein Script, das aus einer Email Variablen ausliest.
------------------------------
Beispiel: Body der Email:
------------------------------
Name: Thorsten
Hobbys: irgendetwas
------------------------------
Nun soll das Script die Email so auslesen, dass ich "Thorsten" z.B. als Variable "name" und "irgendetwas" als Variable "hobbys" vorliegen habe.
Ist soetwas mit PHP möglich? Bisher habe ich in Emails mit "imap_body" gesucht, ob ein bestimmter String vorkommt. Das funktioniert bei meinem neuen Vorhaben aber schließlich nicht mehr.
Hat jemand eine Idee, wie man das realisieren kann?
Vielen Dank!
Thorsten
Hallo Thorsten,
Hat jemand eine Idee, wie man das realisieren kann?
// Zeilen trennen
// verschiedene Zeilenarten von verschiednen Betriebsystemen berücksichtigen
// theoretisch sollten in einer Mail nur \015\012 vorhanden sein, jedoch
// weiß man ja nie
$zeilen = preg_split ("!\015\012|\015|\012!", $body);
// Array initialisieren
$variablen = array ();
// Alle Zeilen abarbeiten
foreach ($zeilen as $zeile) {
// Leerzeile
if (empty ($zeile)) {
// ignorieren
continue;
}
// Ungültige Zeile
if (strpos ($zeile, ': ') === false) {
// ignorieren
continue;
}
// Extrahieren
list ($var_name, $var_wert) = explode (': ', $zeile, 2);
// ins Array schreiben
$variablen[$var_name] = $var_wert;
}
Du kannst dann mit $variablen['Name'], $variablen['Hobbys'], etc. auf die entsprechenden Werte zugreifen. (Ach ja, nur mal so am Rande: Es heißt eigentlich »hobbies« und nicht »hobbys«)
Viele Grüße,
Christian