• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/classes/general/smtp.php
  • Класс: CSMTPConnection
  • Вызов: CSMTPConnection::CheckRelaying
function CheckRelaying($email)
{
	$domains = preg_split('/[s]+/', mb_strtolower($this->server->arFields['DOMAINS']), -1, PREG_SPLIT_NO_EMPTY);
	if(count($domains)<=0)
		return true;

	if(!is_array($this->arMsg["FOR_RELAY"]))
		$this->arMsg["FOR_RELAY"] = array();

	$p = mb_strpos($email, "@");
	$email_domain = mb_substr($email, $p + 1);

	if(in_array($email_domain, $domains))
	{
		$this->WriteToLog('['.$this->arMsg["LOCAL_ID"].'] Accepted for relaying '.$email, 8);
		return true;
	}

	if($this->server->arFields['RELAY']!='Y')
		return false;

	if($this->server->arFields['AUTH_RELAY']=='Y' && $this->auth_user_id<=0)
		return false;

	$this->WriteToLog('['.$this->arMsg["LOCAL_ID"].'] Accepted for relaying '.$email, 8);
	$this->arMsg["FOR_RELAY"][]	= $email;
	return true;
}