Fax email fix for master branch (#2023)

* allow bypass of certificate validation

* Update app_defaults.php

change to match

* Update app_defaults.php
This commit is contained in:
jebsolutions 2016-10-31 16:19:41 -04:00 committed by FusionPBX
parent c212bba3b8
commit 031b1053dc
3 changed files with 41 additions and 0 deletions

View File

@ -189,6 +189,14 @@ if ($domains_processed == 1) {
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = '';
$x++;
$array[$x]['default_setting_uuid'] = 'e1c17089-1e75-4e46-9e59-4748bb6a6cec';
$array[$x]['default_setting_category'] = 'email';
$array[$x]['default_setting_subcategory'] = 'smtp_validate_certificate';
$array[$x]['default_setting_name'] = 'bolean';
$array[$x]['default_setting_value'] = 'true';
$array[$x]['default_setting_enabled'] = 'true';
$array[$x]['default_setting_description'] = 'set to false to ignore SSL certificate warnings e.g. for self-signed certificates';
$x++;
$array[$x]['default_setting_uuid'] = '8a07ab78-f386-482c-85dd-7ce8127597d6';
$array[$x]['default_setting_category'] = 'login';
$array[$x]['default_setting_subcategory'] = 'password_reset_key';

View File

@ -571,6 +571,23 @@ if(!function_exists('fax_split_dtmf')) {
else {
$mail->IsSMTP(); // set mailer to use SMTP
}
//optionally skip certificate validation
if (isset($_SESSION['email']['smtp_validate_certificate'])) {
if ($_SESSION['email']['smtp_validate_certificate']['boolean'] == "false") {
// this works around TLS certificate problems e.g. self-signed certificates
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
}
}
if ($smtp['auth'] == "true") {
$mail->SMTPAuth = $smtp['auth']; // turn on/off SMTP authentication
}

View File

@ -189,6 +189,22 @@
default: $mail->IsSMTP(); break;
}
} else $mail->IsSMTP();
// optional bypass TLS certificate check e.g. for self-signed certificates
if (isset($_SESSION['email']['smtp_validate_certificate'])) {
if ($_SESSION['email']['smtp_validate_certificate']['boolean'] == "false") {
// this is needed to work around TLS certificate problems
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
}
}
$mail->SMTPAuth = $smtp['auth'];
$mail->Host = $smtp['host'];
if ($smtp['port']!=0) $mail->Port=$smtp['port'];