Seite 1 von 1
Emails einlesen und verarbeiten per PHP
Verfasst: 30.01.2007 15:25
von mgutt
Hi,
ich möchte gerne per Cronjob ein bestimmtes Postfach auslesen und die Mails die dort drin sind weiter verarbeiten. Unter anderem werden die Mails Dateianhänge besitzen.
Gibt es dafür simple Scripte oder wird das umfangreiches? Die Webmailscripte, die ich mir bisher so angeschaut habe sind doch recht heftig.
Gruß
Marc
Verfasst: 30.01.2007 15:27
von Nosferatu_v
schau mal hier von IBM gibts ein großes tutorial vieleicht hilft dir da ja etwas
http://www-128.ibm.com/developerworks/e ... bmail.html
musst dich aber vorher registrieren um es downloaden zu können
Verfasst: 30.01.2007 18:16
von mgutt
Das ist mir aber zu Webmailmäßig, auch das ich mich jetzt nicht registrieren will.
Ich brauche ja kein Interface, sondern nur:
- alle Emails auslesen
- auf bestimmte Inhalte filtern
- Dateianhänge verschieben
Hat für phpBB eigentlich schon jemand über die Möglichkeit nachgedacht auf Beiträge per Email antworten zu können? Also dass ich gar nicht das Forum selbst aufrufen muss?
Gruß
Verfasst: 30.01.2007 19:36
von Pyramide
Verfasst: 30.01.2007 21:11
von mgutt
Ich habe sowas hier probiert:
Code: Alles auswählen
<?php
$mbox = imap_open("{mail.domain.de:143/imap}INBOX", "username", "passwort", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$list = imap_list($mbox, "{mail.domain.de:143/imap}INBOX", "*");
if (is_array($list)) {
foreach ($list as $val) {
echo imap_utf7_decode($val) . "<br />\n";
}
} else {
echo "imap_list failed: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>
Das resultiert aber das hier:
Warning: imap_open() [function.imap-open]: Couldn't open stream {mail.***.de:143/imap}INBOX in /www/htdocs/***.php on line 2
can't connect: Certificate failure for mail.maxrev.de: unable to get local issuer certificate: /C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=
http://www.usertrust.com/CN=UTN-USERFirst-Hardware
Muss man lokal noch irgendwas einstellen oder habe ich einen Schreibfehler?
Gruß
EDIT:
Ok ich weiß nicht was "notls" ist, aber damit hats geklappt:
Code: Alles auswählen
<?php
$mbox = imap_open("{mail.domain.de:143/notls}INBOX", "username", "passwort", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$list = imap_list($mbox, "{mail.domain.de}", "*");
if (is_array($list)) {
foreach ($list as $val) {
echo imap_utf7_decode($val) . "<br />\n";
}
} else {
echo "imap_list failed: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>
Links, die ich noch mal deswegen aufrufen werde:
http://www.sms77.de/t,1290-eMail-benachrichtigung-.html
Verfasst: 31.01.2007 00:15
von OnFire
Hi,
"notls" deaktiviert die Passwortverschlüsselung per TLS. wenn der Mailserver dein Server also localhost ist sollte das kein Problem sein, wenn nicht birgt das ein potentielles Sicherheitsrisiko, in der Praxis aber nur relevant, wenn jemand einen Angriff direkt auf deinen Server startet

Verfasst: 02.02.2007 15:36
von mgutt
Mit "localhost" meinst Du aber, dass der Server schon online sein darf, nur dass der Mailprozess auf selbigen installiert sein sollte, um ein Sicherheitsrisiko zu vermeiden ja?
Ansonsten wäre es interessant zu wissen, was ein Hacker wie macht um diese Einstellung für sich zu nutzen, damit ich entsprechende Vorkehrungen treffen kann.
Gruß
Verfasst: 05.02.2007 21:55
von OnFire
mgutt hat geschrieben:Mit "localhost" meinst Du aber, dass der Server schon online sein darf, nur dass der Mailprozess auf selbigen installiert sein sollte, um ein Sicherheitsrisiko zu vermeiden ja?
Der Webserver sollte die selbe Maschine sein wie der Mailserver, was bei dir also mail.domain.de:143/imap ist sollte localhost:143/imap sein.
mgutt hat geschrieben:
Ansonsten wäre es interessant zu wissen, was ein Hacker wie macht um diese Einstellung für sich zu nutzen, damit ich entsprechende Vorkehrungen treffen kann.
Ein Hacker könnte den Netzwerkverkehr zwischen Server und Client abhören und ziemlich einfach das Passwort zu diesem Email-Konto lesen. Anderer Schaden kann damit nicht angerichtet werden. Das einzige, was du dagegen machen könntest, wäre eine Passwortverschlüsselung in den Mailserver integrieren. Je nachdem, wie kritisch die übertragenen Informationen sind (ist es jemand den Aufwand wert, gezielt nach diesem Passwort zu suchen?) ist das zwar immer sicherer aber nicht unbedingt immer nötig.
Verfasst: 06.02.2007 15:55
von mgutt
Super. Dann ist natürlich localhost mein Freund
