mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 14:00:31 +02:00
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
This commit is contained in:
@@ -459,6 +459,9 @@ class acp_board
|
||||
'smtp_auth_method' => array('lang' => 'SMTP_AUTH_METHOD', 'validate' => 'string', 'type' => 'select', 'method' => 'mail_auth_select', 'explain' => true),
|
||||
'smtp_username' => array('lang' => 'SMTP_USERNAME', 'validate' => 'string', 'type' => 'text:25:255', 'explain' => true),
|
||||
'smtp_password' => array('lang' => 'SMTP_PASSWORD', 'validate' => 'string', 'type' => 'password:25:255', 'explain' => true),
|
||||
'smtp_verify_peer' => array('lang' => 'SMTP_VERIFY_PEER', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'smtp_verify_peer_name' => array('lang' => 'SMTP_VERIFY_PEER_NAME', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'smtp_allow_self_signed'=> array('lang' => 'SMTP_ALLOW_SELF_SIGNED','validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
|
||||
'legend3' => 'ACP_SUBMIT_CHANGES',
|
||||
)
|
||||
|
@@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user