• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/mail/smtp/mailer.php
  • Класс: BitrixMainMailSmtpMailer
  • Вызов: Mailer::checkConnect
static function checkConnect(Context $context, BitrixMainErrorCollection $errors): bool
{
	$mail = new Mailer();

	if (BitrixMainModuleManager::isModuleInstalled('bitrix24'))
	{
		// Private addresses can't be used in the cloud
		$ip = BitrixMainWebIpAddress::createByName($context->getSmtp()->getHost());
		if ($ip->isPrivate())
		{
			$errors->setError(new Error('SMTP server address is invalid'));
			return false;
		}
	}

	if (!$mail->prepareConfiguration($context))
	{
		return false;
	}

	if ($mail->smtpConnect())
	{
		$mail->smtpClose();
		return true;
	}

	$errors->setError(new Error(Loc::getMessage('main_mail_smtp_connection_failed')));
	return false;
}