diff options
author | Tristan Darricau <github@nicofuma.fr> | 2017-03-19 18:07:14 +0100 |
---|---|---|
committer | Tristan Darricau <github@nicofuma.fr> | 2017-03-19 18:07:14 +0100 |
commit | 552da2e80575c7db28449fd292d6bfa9b8f4b036 (patch) | |
tree | 6f5336c037f6985bf84ab0eebbce85e925f6ef77 /phpBB/includes/functions_messenger.php | |
parent | 67509edd4070b6a8158e1572241a96bc28c8d3c9 (diff) | |
parent | 0b2369901a4a6f5eb4cbc45981a13a91a1532994 (diff) | |
download | forums-552da2e80575c7db28449fd292d6bfa9b8f4b036.tar forums-552da2e80575c7db28449fd292d6bfa9b8f4b036.tar.gz forums-552da2e80575c7db28449fd292d6bfa9b8f4b036.tar.bz2 forums-552da2e80575c7db28449fd292d6bfa9b8f4b036.tar.xz forums-552da2e80575c7db28449fd292d6bfa9b8f4b036.zip |
Merge branch '3.1.x' into 3.2.x
* 3.1.x:
[ticket/13558] Change options prefix and add settings precautions.
[ticket/13558] Make SSL context specific options more SMTP general
[ticket/13558] Add smtp SSL context configuration options
Diffstat (limited to 'phpBB/includes/functions_messenger.php')
-rw-r--r-- | phpBB/includes/functions_messenger.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php index 526e18528f..757a49003b 100644 --- a/phpBB/includes/functions_messenger.php +++ b/phpBB/includes/functions_messenger.php @@ -1076,7 +1076,18 @@ function smtpmail($addresses, $subject, $message, &$err_msg, $headers = false) } $collector = new \phpbb\error_collector; $collector->install(); - $smtp->socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 20); + + $options = array(); + $verify_peer = (bool) $config['smtp_verify_peer']; + $verify_peer_name = (bool) $config['smtp_verify_peer_name']; + $allow_self_signed = (bool) $config['smtp_allow_self_signed']; + $remote_socket = $config['smtp_host'] . ':' . $config['smtp_port']; + + // Set ssl context options, see http://php.net/manual/en/context.ssl.php + $options['ssl'] = array('verify_peer' => $verify_peer, 'verify_peer_name' => $verify_peer_name, 'allow_self_signed' => $allow_self_signed); + $socket_context = stream_context_create($options); + + $smtp->socket = stream_socket_client($remote_socket, $errno, $errstr, 20, STREAM_CLIENT_CONNECT, $socket_context); $collector->uninstall(); $error_contents = $collector->format_errors(); |