Lesen von E-mails auf dem server mit IMAP?
Ich bin einrichten eines E-Mail 'proxy-like," wo die Benachrichtigungs-E-Mails werden gesendet, um den Benutzer, dass er sich angemeldet hat, aber er kann die Antwort an die E-Mail - [email protected]
enthalten seine Antwort. Auf der server-Seite ich möchte in der Lage zu Lesen, seine E-Mail und fügen Sie seine Antwort in die Datenbank - die E-Mail gespeichert ist, in der notification
Benutzer-Posteingang-das ist toll, jetzt Lesen zu können, es mit PHP.
So, ich habe etwa auf der Suche nach Lösungen für diese, viele Lösungen wurden IMAP, so dass ich dachte, ich würde einen Versuch geben, aber ich kann nicht scheinen zu Abbildung meiner Verbindung zu meinem server um den Posteingang zu öffnen. Ich hab eingestellt, um verschiedene ports, aber keiner von Ihnen sind in der Lage, um zu verbinden.
imap_open("{localhost/imap:143}", "notification", "password");
Bekomme ich Fehler wie:
Warning: imap_open(): Couldn't open stream {localhost/imap:143} in /var/www/site.com/www/mail.php on line 8
bool(false)
Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=1) in Unknown on line 0
Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=1) in Unknown on line 0
Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=1) in Unknown on line 0
Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=2) in Unknown on line 0
Verstehe ich nicht, natürlich ist dies mein erstes mal dies versuchen, aber was ist es, das klar mache ich falsch mit der Verbindung?
EDIT: ich begann courier-imap
jetzt bekomme ich dies:
Notice: Unknown: [CLOSED] IMAP connection broken (server response) (errflg=1) in Unknown on line 0
Notice: Unknown: [ALERT] Fatal error: No such file or directory: No such file or directory in Unknown on line 0
Also kennen Sie eine gemeinsame ports angeschlossen werden können, um die E-mail-Postfächer?
Es hängt alles davon ab, wie Ihr mailserver eingerichtet ist. Alles was ich Vorschlage ist, dass Sie zu öffnen, port 143 um für diese zu arbeiten (wenn es gesperrt ist).
Versucht telnet-ing der E-mail-server? bobpeers.com/technical/telnet_imap
Sind Sie absolut 115% sicher, dass a) der IMAP-Dienst ausgeführt wird und b) es überwacht TCP:143? Ich würde sagen, es ist höchst unwahrscheinlich, eine firewall ist immer in der Art von loopback-Verkehr, scheint viel eher, dass es einfach nichts zu verbinden.
InformationsquelleAutor MacMac | 2012-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte genau das gleiche problem auf meinem Ubuntu 11.04 system, und das hab ich gelöst durch die Schaffung der "Maildir" - Ordner in meinem home-Verzeichnis (wie beschrieben hier) mit den folgenden Funktionen:
Erste von allen, sollten Sie überprüfen, Fehler in der log-Datei "/var/log/syslog" (zum Beispiel durch ausführen des Befehls
sudo tail /var/log/syslog
).In meiner log, hatte ich bemerkt den folgenden Fehler:
imapd: chdir Maildir: No such file or directory
.Also ich habe die Konfigurationsdatei "/etc/courier/imapd" und ich sah, dass der MAILDIRPATH option war auf "Maildir":
Dann habe ich das "Maildir" - Ordner, wie oben beschrieben, und die "imap_open ()" - Funktion endlich funktioniert.
sudo tail /var/log/syslog
auf den root-account, bekomme ich login-Fehler in der Datei, aber der Benutzernotification
und das Passwort korrekt ist.Vielleicht ist der Fehler, bevor die letzten 10 Zeilen der Datei "/var/log/syslog", also mit der "tail" - Befehl, können Sie nicht finden, die "imapd" - Fehler. Versuchen Sie diesen Befehl:
sudo grep imapd /var/log/syslog
. Jedoch haben Sie die MAILDIRPATH Einstellung in der "/etc/courier/imapd" - Datei? Wenn es auf "Maildir", haben Sie überprüft, dass die "/home/Anzeige/Maildir" - Ordner vorhanden ist? Wenn nicht, können Sie es schaffen, mit der die Befehle in meine Antwort? Natürlich, stattcd ~
Sie tun müssencd /home/notification
.Es sind keine Fehler enthalten, in der syslog
imapd
auch die/home/notification/Maildir
vorhanden ist.Welche Art von login-Fehler erhalten Sie in der syslog?
Aug 15 16:47:34 server imapd: Connection, ip=[::ffff:xx.xx.xx.xx] Aug 15 16:47:34 server imapd: LOGIN FAILED, [email protected], ip=[::ffff:xx.xx.xx.xx] Aug 15 16:47:49 imapd: last message repeated 2 times Aug 15 16:47:49 server imapd: LOGOUT, ip=[::ffff:xx.xx.xx.xx], rcvd=164, sent=385
InformationsquelleAutor
Haben Sie versucht, die angeben, ein Postfach? Und btw sollte man auch wirklich die richtige syntax, es ist
host:port/protocol
in der Erwägung, dassimap
ist das Standard-Protokoll und lassen Sie es aus:Bitte vergleichen Sie mit den vielen Beispiele und Hinweise auf
imap_open
Docs.Als auch die debugging-versuchen:
Glücklich Debuggen.
InformationsquelleAutor hakre