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