Добрый день, возникла такая проблема.
Я формирую xls файл при помощи PHPexel и отправляю его на почту пользователя.
На gmail, файл приходит целым и читабельным, а вот на mail.ru
в xls файле я наблюдаю следующие:
а@ApЂА`1@@`ЂCАDрC*@APAРAЂBC*AаA AA°APAРA*Aа@Ђ0CаDCаC@C*`аA@APBBA@°@CаDD CC C*CC*ђCCАCаC D°C CаCp@PРCаCАCPD@0*CаC@A0РCCЂCАCPCРCаC CCРCЂCPB CаC CDC@`*CаC°BР Cа@`C*CЂC@C*C@@`CPCРC@р`CPCРCBCаBC*CЂC@C*CаCђ@PD0CАCАCAD0CАCАCBCаBC*CЂC@C*CаCђ@PpЂpЂ0DB CаCАCDCPDCаB `p@Ђ ђ ЂAРB APA°A*AаAАB `рCDCаDpCPC*B°*D0C°CPC*EР РCCCаDBрCаC0DCPCАD0DЂCPC*Bp*PЂЂђ ЂD B BCPD C*CPB°CPD C*CEР рCаC0DCPCАD0DЂC*CBBЂ0Ђ0`ђрDCаDCPCpD°C CD CPC°DАBА CЂC@CBААCЂDЂC*CBАC°CаCРCЂC*BАРCB°CЂDD CPB°РCB°CЂDD CPEРР`ђ@`` 0`` ђ DCPC0CаBрCаBpCC*CCpD0C**ђЃa°ЬА}`@* ° Ђ A@0P00 @ `ЂfffffncтpЂfffffncтЂЂѓтђЂѓъ @ Ђ%Ђ#33333=3у33333=3рP ЂРААрРА`рРА 0рРА00pрРА@@pрРАPP`рРА`` рРАpp`рРАЂЂр а°*Р*@Р*P ` P `0P `@P `PP ``P `pP `ЂPР* @ Р* P0 ` P ` 0P ` @P ` PP ` `P ` pP ` ЂPР*0@@Р*0PP `0 P `00P `0@P `0PP `0`P `0pP `0ЂPР*P`Р*PpР*P ЂР*P0ђР*P@*Р*PP°Р*P`АР*PpРР*PЂа0 а`яР*`рР*` 0 а`0р0 а`@D0 а`Pф0 а``ffffncґ0 а`pф0 а`Ђffffncґ0 аp0 аp.4Р*p 0 аp0р0 аp@D0 аpP?R…Иф#”0 аp`±Jд~Јd0 аpp?R…Иф#”0 аpЂ±Jд~Јd0 аЂ„0 аЂ
На сервере если открыть сгенерированный xls файл, он там тоже впорядке.
Вот мои хедеры:
$path = '../tmp';
$filename = "$random_hash.xls";
$mailto = user@mail.ru;
$message = "example";
$subject = "subject text";
$file = $path . "/" . $filename;
$file_size = filesize($file);
$handle = fopen($file, "r");
$content = fread($handle, $file_size);
fclose($handle);
$content = chunk_split(base64_encode($content));
$separator = md5(time());
// конец строки, константа
$eol = PHP_EOL;
$headers = "MIME-Version: 1.0" . $eol;
$headers .= "From: Example <noreply@example.com>" . $eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol;
$headers .= "Content-Transfer-Encoding: 7bit" . $eol;
$headers .= "This is a MIME encoded message." . $eol;
// письмо
$headers .= "--" . $separator . $eol;
$headers .= "Content-Type: text/plain; charset=\"utf-8\"" . $eol;
$headers .= "Content-Transfer-Encoding: 8bit" . $eol;
$headers .= $message . $eol;
// прикрепление
$headers .= "--" . $separator . $eol;
$headers .= "Content-Type: application/vnd.ms-excel; name=\"" . $filename . "\"" . $eol;
$headers .= "Content-Transfer-Encoding: base64" . $eol;
$headers .= "Content-Disposition: attachment; filename=\"" . $filename . "\"" . $eol;
$headers .= $content . $eol;
$headers .= "--" . $separator . "--";
//отправка письма
if (mail($mailto, $subject, "", $headers, "-fnoreply@example.com")) {
echo "ok!";
} else {
echo "mail send ... ERROR!";
}
Подскажите пожалуйста в чем может быть причина, и как с этим бороться?