RoundCube STARTTLS failed
Für jeden, der diese Meldung seit einem Upgrade auf RoundCube Version 0.2.1in seiner Logdatei findet und keine Mails mehr versenden kann, gibt es hier die Lösung des Problems.
Da zum Versenden der Mails TLS benutzt werden soll, wird für PHP das OpenSSL Modul benötigt, existiert es jedoch nicht, können keine Nachrichten versendet werden, da RoundCube keine Abfrage enthält ob das Modul geladen wurde. Es wird somit auch kein Versuch unternommen eine Verbindung ohne TLS herzustellen.
Um dennoch E-Mails versenden zu können muss in der Datei SMTP.php im Unterverzeichnis program/lib/Net von RoundCube die folgende Zeile (meist Zeile 463)
if (version_compare(PHP_VERSION, '5.1.0', '>=') &&
isset($this->_esmtp['STARTTLS'])) {
mit dieser ersetzt werden:
if (version_compare(PHP_VERSION, '5.1.0', '>=') &&
extension_loaded('openssl') &&
isset($this-&>_esmtp['STARTTLS'])) {
Diese Lösung ist auch Update sicher, da es sich bei der Datei SMTP.php um einen Teil des Net_Smtp Pakets handelt und die Änderung dort schon im CVS zu finden ist und somit auch Teil des nächsten RoundCube Releases sein sollte.


