- Модуль: 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;
}