2016-09-23 100 views
0

是使用下面的代碼來生成一個excel文件,附加併發送它作爲電子郵件。但是,當我在我的收件箱中打開Excel文件時,Excel表示文件可能已損壞或不安全。我可以打開文件,如果我點擊是,它會顯示數據文件,但我想刪除警告消息。PHPexcel與Phpmailer

[CODE HERE]  
//Generating Excel data 

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
$objWriter->save("php://output"); 

$data = ob_get_contents(); 
ob_end_clean(); 

$mail = new PHPMailer; 
$mail->addAddress('[email protected]'); 

$mail->AddStringAttachment($data, '123.xls') 
$mail->isHTML(true);  

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 

if(!$mail->Send()) { 
echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
echo "Message sent!"; 
} 
+0

幾乎所有的郵件客戶端都認爲附件是「不安全的」,並會發出一條關於它的消息。對於可能具有可執行代碼的附件尤其如此(Excel文件屬於該類別是因爲它們可能包含宏)。作爲文件的發送者,您無法控制接收端是否顯示類似的消息。 – Dave

+0

但我先從郵件客戶端本地保存,然後打開它 – Stefan

+0

啊,這一點不清楚。你說你在保存之後不是在收件箱中打開它。如果您保存了您生成的電子表格並使用$ mail-> AddAttachment附加它,那麼您是否也遇到同樣的問題? – Dave

回答

-1

也許你可能在[CODE HERE]有部分輸出並將其寫入Excel。