- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/mail/mail.php
- Класс: BitrixMainMailMail
- Вызов: Mail::getHeaders
public function getHeaders()
{
$headers = $this->headers;
foreach($headers as $k=>$v)
{
$headers[$k] = trim($v, "rn");
if($headers[$k] == '')
{
unset($headers[$k]);
}
}
$this->filterHeaderEmails($headers);
if(
(!isset($headers["Reply-To"]) || $headers["Reply-To"] == '')
&& isset($headers["From"])
&& $headers["From"] <> ''
)
{
$headers["Reply-To"] = preg_replace("/(.*)\<(.*)\>/i", '$2', $headers["From"]);
}
if (!isset($headers["X-Priority"]) || $headers["X-Priority"] == '')
{
$headers["X-Priority"] = '3 (Normal)';
}
if(!isset($headers["Date"]) || $headers["Date"] == '')
{
$headers["Date"] = date("r");
}
if(empty($headers["MIME-Version"]))
{
$headers["MIME-Version"] = '1.0';
}
if($this->settingMailConvertMailHeader)
{
foreach($headers as $k => $v)
{
if ($k == 'From' || $k == 'CC' || $k == 'Reply-To')
{
$headers[$k] = $this->encodeHeaderFrom($v, $this->charset);
}
else
{
$headers[$k] = $this->encodeMimeString($v, $this->charset);
}
}
}
if($this->settingServerMsSmtp)
{
if(isset($headers["From"]) && $headers["From"] != '')
{
$headers["From"] = preg_replace("/(.*)\<(.*)\>/i", '$2', $headers["From"]);
}
if(isset($headers["To"]) && $headers["To"] != '')
{
$headers["To"] = preg_replace("/(.*)\<(.*)\>/i", '$2', $headers["To"]);
}
if(isset($headers["Reply-To"]) && $headers["Reply-To"] != '')
{
$headers["Reply-To"] = preg_replace("/(.*)\<(.*)\>/i", '$2', $headers["Reply-To"]);
}
}
if($this->settingMailFillToEmail)
{
$headers["To"] = $this->getTo();
}
if($this->messageId != '')
{
$headers['X-MID'] = $this->messageId;
}
$headerString = "";
foreach($headers as $k=>$v)
{
$headerString .= $k . ': ' . $v . $this->eol;
}
// Content-Transfer-Encoding & Content-Type add from Multipart
$headerString .= rtrim($this->multipart->toStringHeaders());
return $headerString;
}