Aleksander Machniak
2014-01-21 357f9c831a7b1d01a6f7dfd40f44f77acde15a54
Support SMTP socket context options via new config option 'smtp_conn_options'
3 files modified
17 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/defaults.inc.php 13 ●●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_smtp.php 3 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Support SMTP socket context options via new config option 'smtp_conn_options'
- Fix compatibility with PHP 5.2 in html.php file (#1489514)
- Remove expand/collapse with plus/minus keys (on numeric keypad) (#1489513)
- Fix issue where filesystem path was added to all-attachments (zip) file (#1489507)
config/defaults.inc.php
@@ -235,6 +235,19 @@
// timeout > 0 causes connection errors (https://bugs.php.net/bug.php?id=54511)
$config['smtp_timeout'] = 0;
// SMTP socket context options
// See http://php.net/manual/en/context.ssl.php
// The example below enables server certificate validation, and
// requires 'smtp_timeout' to be non zero.
// $config['smtp_conn_options'] = array(
//   'ssl'         => array(
//     'verify_peer'     => true,
//     'verify_depth     => 3,
//     'cafile'          => '/etc/openssl/certs/ca.crt',
//   ),
// );
$config['smtp_conn_options'] = null;
// ----------------------------------
// LDAP
// ----------------------------------
program/lib/Roundcube/rcube_smtp.php
@@ -67,6 +67,7 @@
            'smtp_auth_type' => $rcube->config->get('smtp_auth_type'),
            'smtp_helo_host' => $rcube->config->get('smtp_helo_host'),
            'smtp_timeout'   => $rcube->config->get('smtp_timeout'),
            'smtp_conn_options'   => $rcube->config->get('smtp_conn_options'),
            'smtp_auth_callbacks' => array(),
        ));
@@ -106,7 +107,7 @@
        // IDNA Support
        $smtp_host = rcube_utils::idn_to_ascii($smtp_host);
        $this->conn = new Net_SMTP($smtp_host, $smtp_port, $helo_host);
        $this->conn = new Net_SMTP($smtp_host, $smtp_port, $helo_host, false, 0, $CONFIG['smtp_conn_options']);
        if ($rcube->config->get('smtp_debug')) {
            $this->conn->setDebug(true, array($this, 'debug_handler'));