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

	$boundary = 'CMY2' . 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="logo"' . "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/api2/admin/domain/logo/set', $data);
	$result   = json_decode($response, true);

	if (isset($result['success']) && $result['success'] == 'ok')
		return true;

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