Вообщем на почту письма приходят "искаженными", примерно в таком виде:
Код |
---|
---------mix5835f58b80 Content-Type: multipart/alternative; boundary="-------alt6545f58b80" ---------alt6545f58b80 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Клиент на сайте запросил КП из корзины. КП отправлено ему на email - email@tester.ru Организация - ООО1222 Тестер Имя клиента - Имя Телефон клиента - +7(944)444-44-44 ---------alt6545f58b80 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit Клиент на сайте запросил КП из корзины.
|
И ниже еще абракадабра, которая раньше была прикрепляемым файлом
Код |
---|
---------alt6545f58b80-- ---------mix5835f58b80 Content-Type: application/vnd.ms-office; name="=?UTF-8?B?a3BfNTg5MTU2MC54bHM=?=" Content-Disposition: attachment; filename="=?UTF-8?B?a3BfNTg5MTU2MC54bHM=?=" Content-Transfer-Encoding: base64 Content-ID: <5564185> 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAOwADAP7/CQAGAAAAAAAAAAAAAAABAAAABgAAAAAAAAAA
|
Письма отправляются через функцию custom_mail, в которой используются phpMailer, основные манипуляции, которые там проделываются, вот такие:
Код |
---|
// Парсинг дополнительных заголовков в письмах.
$additional_headers_array = explode("\n", $additional_headers);
$arHeaders = array();
foreach ($additional_headers_array as $key => $value) {
$arTmp = explode(':', $value);
$arHeaders[$arTmp[0]] = $arTmp[1];
}
if ($arHeaders['BCC']) {
$arHeaders['BCC'] = explode(',', trim($arHeaders['BCC']));
}
unset($additional_headers_array);
if (count($arHeaders['BCC'])) {
foreach ($arHeaders['BCC'] as $bcc_email) {
$mail->AddBCC(trim($bcc_email));
}
}
$mail->CharSet = "UTF-8";
// set the subject line
$mail->Subject = $subject;
// set message type
$mail->isHTML(true);
// $mail->msgHTML($message);
// html message text.
$mail->Body = $message;
// plain text
// $mail->AltBody = 'Пожалуйста, воспользуйтесь современным почтовым клиентом. Спасибо!';
//$mail->Encoding = "base64";
$success = $mail->send();
|
Само же письмо и файл прикрепляемый к нему - обрабатывает вот этот вот участок кода:
Код |
---|
private function sendAdminEmail($email,$phone,$name,$organization)
{
$fields = ["EMAIL" => $email,"PHONE"=>$phone,"NAME"=>$name,"ORGANIZATION"=>$organization];
$arr_files = [
$this->getXlsPath()
];
return CEvent::Send('SEND_EVENT_MAIL', SITE_ID, $fields, "Y", "", $arr_files);
} |
Из любопытства записывал содержимое $message, в самом начале custom_mail
Код |
---|
@file_put_contents(__DIR__.'/dilogs.txt', $message."\n", FILE_APPEND);
|
Но получал такую же абракадабру, но без значений, подставляемых в шаблоне
Код |
---|
---------mix7135f58af9
Content-Type: multipart/alternative; boundary="-------alt4635f58af9"
---------alt4635f58af9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Спасибо за ваше обращение.
В приложении к этому письму находится коммерческое предложение.
---------alt4635f58af9
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
Спасибо за ваше обращение.<br>
В приложении к этому письму находится коммерческое предложение.
---------alt4635f58af9--
---------mix7135f58af9
Content-Type: application/pdf; name="=?UTF-8?B?a3BfNTg5MTU2MC5wZGY=?="
Content-Disposition: attachment; filename="=?UTF-8?B?a3BfNTg5MTU2MC5wZGY=?="
Content-Transfer-Encoding: base64
Content-ID: <5564174>
JVBERi0xLjMKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZwovT3V0bGluZXMgMiAwIFIKL1BhZ2Vz
IDMgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9PdXRsaW5lcyAvQ291bnQgMCA+Pgpl
|
Что делать - без понятия