This commit is contained in:
Roman Kelesidis 2024-06-26 10:48:59 +07:00
parent b572b4bed3
commit 3eb2acc6f7
2 changed files with 14 additions and 2 deletions

View File

@ -311,8 +311,9 @@ $bb_cfg['emailer_disabled'] = false; // отключить ли отпр
$bb_cfg['smtp_delivery'] = false; // использовать ли SMTP (если false, то будет использоваться нативная функция mail())
$bb_cfg['smtp_ssl'] = false; // использовать ли SSL при подключении к SMTP
$bb_cfg['smtp_type'] = 'ssl'; // Тип подключения (Доступные значения: ssl, tls)
$bb_cfg['smtp_host'] = ''; // SMTP название хоста
$bb_cfg['smtp_port'] = 25; // SMTP порт сервера
$bb_cfg['smtp_port'] = 25; // SMTP порт сервера (Для SSL - 465, Для TLS - 587)
$bb_cfg['smtp_username'] = ''; // указать имя пользователя SMTP (если требуется)
$bb_cfg['smtp_password'] = ''; // указать пароль для SMTP (если требуется)

View File

@ -90,11 +90,12 @@ function smtpmail($mail_to, $subject, $message, $headers = '')
}
// Ok we have error checked as much as we can to this point let's get on it already
$ssl = ($bb_cfg['smtp_ssl']) ? 'ssl://' : '';
$ssl = ($bb_cfg['smtp_ssl'] && $bb_cfg['smtp_type'] == 'ssl') ? 'ssl://' : '';
if( !$socket = @fsockopen($ssl . $bb_cfg['smtp_host'], $bb_cfg['smtp_port'], $errno, $errstr, 20) )
{
bb_die('Could not connect to smtp host : '. $errno .' : '. $errstr);
}
stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
// Wait for reply
server_parse($socket, "220", __LINE__);
@ -106,6 +107,16 @@ function smtpmail($mail_to, $subject, $message, $headers = '')
fputs($socket, "EHLO " . $bb_cfg['smtp_host'] . "\r\n");
server_parse($socket, "250", __LINE__);
// tls support
if ($bb_cfg['smtp_type'] == 'tls')
{
fputs($socket, "STARTTLS\r\n");
server_parse($socket, "250", __LINE__);
fputs($socket, "EHLO " . $bb_cfg['smtp_host'] . "\r\n");
server_parse($socket, "250", __LINE__);
}
fputs($socket, "AUTH LOGIN\r\n");
server_parse($socket, "334", __LINE__);