• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

E-Mails mit PHP und MYSQL Datenbank verwalten

Status
Für weitere Antworten geschlossen.

Jonas

Newbie
Hallo,

ich suche derzeitig eine Möglichkeit, E-Mails von einem Postfach aus dem Internet abzurufen und die abgerufenen E-Mails erst mit PHP zu bearbeiten und dann die herrausgefilterten Daten in einer MYSQL Datenbank zu speichern.

Dabei stellt sich mir nur das Problem das ich keine Ahnung habe, wie das ganze mit dem POP3 usw. funktioniert.
PHP und MYSQL, das ist kein Problem, heißt mir fehlt nur die Möglichkeit die E-Mails aus dem Netz auf meinen PC zu laden (nicht in ein Mailprogramm, da nützt mir das nichts).

Ich hoffe ich habe es geschafft meinProblem verständlich rüberzubringen.
Würde mich freuen, wenn mir jemand helfen könnte. Würde mir nämlich wenn es klappt viel Zeit sparen.

Viele Grüße Jonas
 

wenf

Hacker
vielleicht gibt es eine elegantere variante, aber das ist mir als erstes eingefallen....

hole die emails mit fetchmail ab...
die werden dann in einem lokalen postfach abgelegt

fetchmail wird von einem Cronjob gestartet
als "zweite-zeile" des Jobs könntest du die lokale - Postfach datei mit php abarbeiten lassen....

ich denke das ist das was du wolltest
oder willst du mit php einenen POP-Clienten baseln ?
 
OP
J

Jonas

Newbie
hi,

erstmal danke für die Antwort.

Das verstehe ich nicht so ganz:
hole die emails mit fetchmail ab...
die werden dann in einem lokalen postfach abgelegt

fetchmail wird von einem Cronjob gestartet
als "zweite-zeile" des Jobs könntest du die lokale - Postfach datei mit php abarbeiten lassen....

Wo kann ich E-Mails mit fetchmail abrufen? Habe extra nochmals nachgeschaut, es gibt keinen PHP Befehl dafür.
Mit dem lokalen Postfach ok, Mails werden zwischengelagert (hoffe wenigstens das ist richtig ;-)).
Was ein Cronjob ist, ??? = Ahnung. Gehöre halt noch zu den neuen.

Kannst du das vielleicht etwas genauer beschreiben?


Damit du/ihr es euch besser vorstellen könnt, hier was ich machen will:
Ich verkaufe Ebay Artikel. Ebay schickt einem dann nach dem Verkauf ja immer so ne Mail.
Herzlichen Glückwunsch, USer bla bla hat Artikel bla bla gekauft.
Ich will nun das ich nur eine PHP-Datei ausführen muss, ob im I-Net oder aufm Localhost ist mir egal, die die E-Mails abruft und nacheinander auswertet. Also die in der Mail zugeschickten Userdaten des Käufers in ner Variable speichern. Dadurch kann ich dann einen Autoresponder (oder wie man das schreibt) aufbauen der denen automatisch zuschickt wohin und wie viel sie bezahlen müssen.

Gruß Jonas
 

wenf

Hacker
ok - da das programmieren eines POP3 -Clienten nicht so ganz einfach ist, schlage ich vor das ganze über ein sog. Workaround zu machen....

Definitionen:
CRON = daemon der zu gewissen Zeiten Programme startet....
CRONJOB = ein programm oder dienst (Stapelverarbeitung) welche vom CRON-Daemon gestartet wird.
FETCHMAIL = Softwarepaket, welches E-Mails von einem POP3 Postfach abholt und in einer E-Mail Datei eines lokalen Users ablegt...

so ich denke damit können wor arbeiten-.---

du installierst fetchmail,
das konfigurierst du so, dass die email in /var/spool/mail/<user>
abgelegt werden....
wenn das funktioniert, schreibst du eine STAPELVERARBEITUNGSDATEI
klingt geschwollen, is aber ganz einfach (vielleicht kennst du .bat dateiein von dos oder Windows) - das ist auch eine STAPELVERARBEITUNGSDATEI

in dieser schreibst du dann den befehl für fetchmail hinein
und in der nächsten Zeile schreibst du dann
/pfad/zu/php /pfad/zu/php-script.php

und diese datei läßt du alle 15 Minuten von CRON starten....
dein php-script muß dann diese datei abarbeiten/filten und in mysql speichern

ABER ACHTUNG es kann zu problemen führen, wenn ein e-mail zugestellt wird, und du die datei gerade bearbeitest


wenn du dieses aber professionell betreiben willst, würde ich dir empfehlen ein Mail-System (Server) zu installieren

in groben zügen :
fetchmail holt post ab-> übergibt an lokalen MTA (=Mail Transfer Agent / z.B.:pOSTFIX) vor lokaler zustellung dann mit Procmail-Filten und über AUTORESPOND nachricht zurücksenden
 
OP
J

Jonas

Newbie
ok danke, ich werde das mal versuchen...
Nein ich will das nicht professionell machen
rein Privat. Außerdem lernt man dabei immer gut neue Sachen :).
Vor allem auch gut mit Linux umzugehen.

Werde mich bei Problemen (die es geben wird) oder Erfolg (den ich mir nicht auf Anhieb erhoffe) melden. Also melde ich mich in ürze auf jeden Fall.
Gruß Jonas

So da bin ich wieder.
Also ich habe jetzt über Yast fetchmail und die dazugehörige grafische Verwaltung installiert.
Zunächst habe ich es in der Konsole eingegeben:
jonas@linux:~> fetchmail

Dort kam die Fehlermeldung:
fetchmail: es wurden keine Mailserver spezifiziert.

Dann habe ich das ganze noch mal als SU gemacht.
Dort kam die Meldung:
fetchmail: Hintergrund-fetchmail bei 7094 aufgeweckt.

Ja, damit kann ich erstmal garnichts anfangen :-(.

Danach bin ich über YAST -> Netzwerkdienste -> MTA (Mail Transfer Agent)
in das Konfigurationsprogramm reingegangen.

Seite 1:

Verbindungsart
-Permanent
-EInwahl
- keine Verbindung

Habe EInwahlverbindung gewählt, weiß allerdings nicht ob das richtig ist. Gehe über den Rooter rein, der wählt sich automatisch ein und aus.

Seite 2:
Ausgehender Mailserver
- IP eingeben
??? Was für ne IP soll ich da reinschreiben? Ist aber eigentlich eh egal, da ich nicht über dieses Programm antworte.

Seite 3:
Eingehende Mail
- Als Server mail.abc.de
- Verbindungsdaten eingetragen
Wofür ist der lokale Benutzer? Wer die EInrichtung alles benutzt?
Und muss ich was bei "Mail von root weiterleiten an" eintragen? Werde das nie als root benutzen.

- Auslieferungsmodus habe ich auf Direkt gelassen.

Dann auf Beenden geklickt. Ja, aber ich weiß nicht so ganz was mir das jetzt gebracht hat.
Er weiß jetzt zwar wo er die Mails hernehmen soll, aber sie werden noch nirgends hingespeichert soweit ich das sehe...

Erstmal brauche ich mal wieder bis hier Hilfe. Danach sehe ich weiter (und brauche weiterhin Hilfe :))...

Und ich habe noch ne Frage: Sind meine Fragen dumm (also Ausnahme) oder kommt sowas hier regelmäßig?

Gruß Jonas
 
A

Anonymous

Gast
Was Programmierung von pop3 betrifft gibt es jede Menge Scripte die man dafür ausschlachten kann um nur den Rest drum herum zuu programmieren.

Schau mal bei hotscripts.com nach.
 
OP
J

Jonas

Newbie
also habe mir mal ein anderes Programm geladen (von der oben genannten Adresse hotscripts.com).
Aber das funktioniert irgend wie auch nicht so recht, alles installiert usw. aber dann komme ich nicht weiter.

Also führen wir mal die Idee von wenf weiter (versuchen es zumindest).

HIer nochmal, damit es nicht untergeht. Hatte das nämlich reineditiert und deine Antwort kam nach dem edit:



So da bin ich wieder.
Also ich habe jetzt über Yast fetchmail und die dazugehörige grafische Verwaltung installiert.
Zunächst habe ich es in der Konsole eingegeben:
jonas@linux:~> fetchmail

Dort kam die Fehlermeldung:
fetchmail: es wurden keine Mailserver spezifiziert.

Dann habe ich das ganze noch mal als SU gemacht.
Dort kam die Meldung:
fetchmail: Hintergrund-fetchmail bei 7094 aufgeweckt.

Ja, damit kann ich erstmal garnichts anfangen .

Danach bin ich über YAST -> Netzwerkdienste -> MTA (Mail Transfer Agent)
in das Konfigurationsprogramm reingegangen.

Seite 1:

Verbindungsart
-Permanent
-EInwahl
- keine Verbindung

Habe EInwahlverbindung gewählt, weiß allerdings nicht ob das richtig ist. Gehe über den Rooter rein, der wählt sich automatisch ein und aus.

Seite 2:
Ausgehender Mailserver
- IP eingeben
??? Was für ne IP soll ich da reinschreiben? Ist aber eigentlich eh egal, da ich nicht über dieses Programm antworte.

Seite 3:
Eingehende Mail
- Als Server mail.abc.de
- Verbindungsdaten eingetragen
Wofür ist der lokale Benutzer? Wer die EInrichtung alles benutzt?
Und muss ich was bei "Mail von root weiterleiten an" eintragen? Werde das nie als root benutzen.

- Auslieferungsmodus habe ich auf Direkt gelassen.

Dann auf Beenden geklickt. Ja, aber ich weiß nicht so ganz was mir das jetzt gebracht hat.
Er weiß jetzt zwar wo er die Mails hernehmen soll, aber sie werden noch nirgends hingespeichert soweit ich das sehe...

Erstmal brauche ich mal wieder bis hier Hilfe. Danach sehe ich weiter (und brauche weiterhin Hilfe )...

Und ich habe noch ne Frage: Sind meine Fragen dumm (also Ausnahme) oder kommt sowas hier regelmäßig?

Gruß Jonas
 

wenf

Hacker
schau dir mal zuerst die man page von fetchmail an

man fetchmail oder im Konqueror man:fetchmail

damit solltest du weiterkommen (habe hier leider kein fetchmail)
 
Status
Für weitere Antworten geschlossen.
Oben