У меня есть следующее:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
ob_start();
$objWriter->save("php://output");
$xlsData = ob_get_contents();
$xlsData1= "data:application/vnd.ms-excel;base64,".base64_encode($xlsData);
ob_end_clean();
//Require for mailing functionality
require_once('../../PHPMailer/PHPMailer-master/class.phpmailer.php');
//Send mail function
$mail= new PHPMailer(); // defaults to using php "mail()"
$sender ="emailadddress";
$mail->SetFrom($sender);
$mail->AddAddress('emailaddress');
$mail->Subject="Combined repair and production report from ".$reportDate;
$encoding = "base64";
//$type = "image/png";
$mail->AddStringAttachment(base64_decode($xlsData1), "combined_report".$reportDate."xlsx");
//$mail->AddAttachment($xlsData, $filename);
$message= "Please see attached combined report";
$message = "</body></html>";
$mail->MsgHTML($message);
if(!$mail->Send())
{
$response = array(
'op' => 'failed',
'file' => "data:application/vnd.ms-excel;base64,".base64_encode($xlsData)
);
}
else
{
$response = array(
'op' => 'ok',
'file' => "data:application/vnd.ms-excel;base64,".base64_encode($xlsData)
);
}
die(json_encode($response));
pg_close($conn);
это отправляет электронное письмо с вложением, но вложение представляет собой пустой файл. Когда я пытаюсь сохранить его, он имеет имя файла и расширение, подобное этому: «filenamexlsx», поэтому похоже, что он не получает правильный формат xlsx. Я тоже пробовал это:
$mail->AddStringAttachment("data:application/vnd.ms-excel;base64,".base64_encode($xlsData);
Я также пробовал:
$encoding = "base64";
$type = "application/vnd.ms-excel"; // and :application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
$mail->AddStringAttachment(base64_decode($xlsData1), "combined_report".$reportDate."xlsx",$encoding,$type);
Я также пытался использовать AddAttachment()
вместо вложения строки, и при этом в электронном письме нет вложения.
Я выполнил: php отправить электронное письмо с вложением
а также рассмотрел несколько вещей, таких как PHPMailer, AddStringAttachment и Data URI. Схема
но, похоже, он не работает :( любая помощь будет оценена!