POP3.php und Exchange

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 22887
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Du darfst das gern ändern. :) Die POP3.php gehört zum PEAR Paket, http://pear.php.net/ . ABER vorsichtig sein, an den ganzen PEAR-Dateien habe ich ne ganze Menge geändert, d.h. vor allem tagelang die Bugs rausgemacht und einige Dinge erweitert. Bei der POP3.php habe ich den SSL-Support hinzugefügt, das ist nur ein Parameter.

Bei der Authentifizierung ist das Problem, die POP3.php kann nur die Methoden

\'DIGEST-MD5\',\'CRAM-MD5\',\'LOGIN\',\'PLAIN\',\'APOP\',\'USER\'

NICHT NTLM oder GSSAPI, die der Exchange will. Für NTLM und/oder GSSAPI müsste man selbst die Authentifizierung implementieren, falls das überhaupt in PHP möglich ist.
B4c4rd1
Beiträge: 15
Registriert: 24.03.2010, 15:43

Beitrag von B4c4rd1 »

Mir ist auch aufgefallen, dass POP3 immer folgendermaßen aufgerufen wird:

$pop3->login(\'USER\', \'PASS\');

Könnte man das nicht weiter ausbauen, das manuell eine Auth methode angehängt werden kann?

methods are: \'DIGEST-MD5\',\'CRAM-MD5\',\'LOGIN\',\'PLAIN\',\'APOP\',\'USER\'
$pop3->login(\'USER\', \'PASS\', \'methods\');

Ich würde es auch begrüßen, dass der Support nicht wieder an dem Satz hängen bleibt, wieso denn ändern wenn nur einer sich beschwert.....
B4c4rd1
Beiträge: 15
Registriert: 24.03.2010, 15:43

Beitrag von B4c4rd1 »

Hallo,

habe mehrmals versucht, über die Funktion \"Posteingangsserver\" kontakt zu unseren Firmen Exchangeserver her zu stellen.

Es kam immer folgender Fehler:

Der Test des Posteingangsservers war NICHT erfolgreich:
-1: -ERR Protocol error. 16


Mal ebend Debug Modus in der POP3.php an gemacht und geschaut was er eigentlich von mir will:

S:+OK pop3 ready C: CAPA S:+OK S:TOP S:UIDL S:SASL NTLM GSSAPI PLAIN S:USER S:. C: AUTH PLAIN AHdlYm1haWxlcgB3ZWJtYWlsZXI= S:-ERR Protocol error. 16

Hmmmm, C: AUTH PLAIN? Das geht ja bei Exchange nicht.....

Da müsste eigentlich C: USER XXXX S:+OK stehen.....

Gut, einfach Zeile 264 von:
if (PEAR::isError($ret= $this->_cmdAuthenticate($user, $pass, $usermethods))){

in

if (PEAR::isError($ret= $this->_cmdAuthenticate($user, $pass, \'USER\'))){

Nun meine Frage, ist das ein BUG? oder kann man das auch anders einstellen?
Antworten