XML aus E-Mail mit PHP auslesen

L

lirux

Guest
Hallo,
Ich habe Forum schon durchgesucht nach XML -parsen und ähnliches aber ich hebe nicht gefunden was ich wirklich brauche. Und ich bin mir sicher dass hier gibt Spezialisten für mein Problem.

Ich möchte aus einer E-Mail mit Anhang von XML Datei „Werte“ auslesen z.B. name und dann in ein DB speichern.

z.B. Anhang
QUOTE
<?xml version="1.0" standalone="yes"?>

<student>
<name>
Mustermann
</name>

<fach>
<praktikum>
Mathe
</praktikum>
<praktikum>
Mathe2
</praktikum>
</fach>

</student >



P.S. Meine Mutersprache ist kein Deutsch (sorry wenn es viel Fehler gibt)
 
Hallo lirux, aber XML kann keine E-Emails verschicken. Bin erstaunt, dass man einigermaßen Links hin bekommt. Aber Emails auslesen kann XML alleine nicht. Außer du kombinierst es mit PHP.
 
QUOTE (Alain Aubert @ Do 6.1.2005, 19:11) Wenn Du nach "xml" suchst ist das erste Resultat folgendes:
Wie parse ich XML mit PHP? Die angegebene Funktion macht aus dem XML einen Array. Ich hab nicht vollständig verstanden, was Du machen möchtest.

Dieser Thema habe ich schon gelesen und noch ein weitere und mit Google x andere.

Ich habe ein E-Mail und diese E-Mail hat 2 Dateien in dem Anhange. Und in die Erste Datei steckten wichtige Informationen für mich. Die Dateien sind als XML Dateien angehängt. Das heisst ich muss zuerst finden in E-Mail erste Anhang und im dann untersuchen wie schon im dieser link beschrieben ist.
Also ich muss irgendwie E-Mail parsen und dann Anhang finden und dann könnte aus Anhang (XML) weiter machen.
E-Mail mit Anhang ist wie eine Datei (mit 2 XML Dateien in Anhang), es ist nicht reine XML.

Ich hoffe das jetzt habe ich besser beschrieben und dass du könntest mir weiter helfen.
 
1. Herausfinden wie (pop/imap?) die Dateianhänge in den Emails codiert sind. Das gute an XML ist, dass es ein reines Textformat ist.
2. Parsen

Ich hab pop. Hab kurz nachgeschaut, würde es wie folgt lösen:

Cronjob, der /var/mail/Postfachname nimmt und in einzelne Emails zerlegt. Dann würde ich die wie folgt aussehendem Emails einfach mit der Funktion aus der FAQ parsen.

QUOTE {header}
Subject: asdf
Date: Thu, 6 Jan 2005 23:40:28 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_001E_01C4F449.1A8F10B0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

This is a multi-part message in MIME format.

------=_NextPart_000_001E_01C4F449.1A8F10B0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_001F_01C4F449.1A8F10B0"


------=_NextPart_001_001F_01C4F449.1A8F10B0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

asfd
------=_NextPart_001_001F_01C4F449.1A8F10B0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2523" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>asfd</FONT></DIV></BODY></HTML>

------=_NextPart_001_001F_01C4F449.1A8F10B0--

------=_NextPart_000_001E_01C4F449.1A8F10B0
Content-Type: text/xml;
name="qwer.txt.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="qwer.txt.xml"

<?xml version="1.0" standalone="yes"?>

<student>
<name>
Mustermann
</name>

<fach>
<praktikum>
Mathe
</praktikum>
<praktikum>
Mathe2
</praktikum>
</fach>

</student >
------=_NextPart_000_001E_01C4F449.1A8F10B0
Content-Type: text/xml;
name="Kopie von qwer.txt.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="Kopie von qwer.txt.xml"

<?xml version="1.0" standalone="yes"?>

<student>
<name>
Mustermann
</name>

<fach>
<praktikum>
Mathe
</praktikum>
<praktikum>
Mathe2
</praktikum>
</fach>

</student >
------=_NextPart_000_001E_01C4F449.1A8F10B0--
 
Danke für Antworte, ich habe Problem gelöst und im nächsten Tage (wenn ich Zeit Finde) hier Lösung posten.
In zwischen ich habe ein weiter Problem.


dry.gif
 
Zurück
Oben