• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/classes/general/yandex.php
  • Класс: CMailYandex
  • Вызов: CMailYandex::addLogo
static function addLogo($token, $domain, $file, &$error)
{
	$http = new BitrixMainWebHttpClient();

	$boundary = 'CMY' . md5(rand().time());

	$data = '';

	$data .= '--' . $boundary . "rn";
	$data .= 'Content-Disposition: form-data; name="token"' . "rnrn";
	$data .= $token . "rn";

	$data .= '--' . $boundary . "rn";
	$data .= 'Content-Disposition: form-data; name="domain"' . "rnrn";
	$data .= $domain . "rn";

	$data .= '--' . $boundary . "rn";
	$data .= 'Content-Disposition: form-data; name="file"; filename="file"' . "rn";
	$data .= 'Content-Type: application/octet-stream' . "rnrn";
	$data .= file_get_contents($file) . "rn";

	$data .= '--' . $boundary . "--rn";

	$http->setHeader('Content-type', 'multipart/form-data; boundary='.$boundary);
	$http->setHeader('Content-length', strlen($data));

	$response = $http->post('https://pddimp.yandex.ru/api/add_logo.xml', $data);

	$result = new CDataXML();
	$result->loadString($response);

	if ($logoUrlNode = $result->selectNodes('/action/domains/domain/logo/url'))
		return $logoUrlNode->textContent();

	self::setError2($result, $error);
	return false;
}