2017-03-09 25 views
0

发送Excel附件这是我努力如何QCubed

$attach是通向我的excel => C:/xampp/htdocs/project/excel.xlsx

Notification::SendEmail('[email protected]', '[email protected]', "Subject","message", $attach); 

如果$attach被删除,那么电子邮件将会消失。 但是,如果我添加附件

SendEmail功能

public static function SendEmail($mixFrom, $mixTo, $strSubject, $strMessage, $mixAttachment = null, $mixCc = null, $mixBcc = null) { 
    // Declaration of Local Variables 
    $strSMTPHost = QApplication::getSettingValue(Mssetting::SMTP_HOST); 
    $strSMTPPort = QApplication::getSettingValue(Mssetting::SMTP_PORT); 
    $objMessage = Swift_Message::newInstance($strSubject, $strMessage, 'text/html'); 

    // Set the source/destination data 
    $objMessage->setFrom($mixFrom); 
    $objMessage->setTo($mixTo); 
    $objMessage->setCc($mixCc); 
    $objMessage->setBcc($mixBcc); 

    // Check for attachments 
    if(is_array($mixAttachment)) { 
     foreach($mixAttachment as $strFilePath) 
      $objMessage->attach (Swift_Attachment::fromPath ($strFilePath)); 
    } 
    elseif(is_string($mixAttachment)) { 
     $objMessage->attach(Swift_Attachment::fromPath($mixAttachment)); 
    } 

    // Setup the transport 
    $objTransport = Swift_SmtpTransport::newInstance(); 
    if($strSMTPHost) $objTransport->setHost ($strSMTPHost); 
    if($strSMTPPort) $objTransport->setPort($strSMTPPort); 

    // Setup the mailer 
    $objMailer = Swift_Mailer::newInstance($objTransport); 

    // Send the message 
    $objMailer->send($objMessage, $arrFailures); 

    if($arrFailures) 
     return $arrFailures; 

    return true; 
} 

回答

0

我得到了这个答案失败, 使用此代码:

$Attachment = $file_path; // path to your excel 
Notification::SendEmail('[email protected]',[email protected],com, "Subject", "Message", $Attachment); 

Notification.php

class Notification { 

    public static function SendEmail($mixFrom, $mixTo, $strSubject, $strMessage, $mixAttachment, $mixCc = null, $mixBcc = null) { 
    // Declaration of Local Variables 
    $strSMTPHost = QApplication::getSettingValue(Mssetting::SMTP_HOST); 
    $strSMTPPort = QApplication::getSettingValue(Mssetting::SMTP_PORT); 
    $objMessage = Swift_Message::newInstance($strSubject, $strMessage, 'text/html'); 


    // Set the source/destination data 
    $objMessage->setFrom($mixFrom); 
    $objMessage->setTo($mixTo); 
    $objMessage->setCc($mixCc); 
    $objMessage->setBcc($mixBcc); 

    // Check for attachments 
    if(is_array($mixAttachment)) { 
     foreach($mixAttachment as $strFilePath) 
      $objMessage->attach (Swift_Attachment::fromPath ($strFilePath)); 
    } 
    elseif(is_string($mixAttachment)) { 
     $objMessage->attach(Swift_Attachment::fromPath($mixAttachment)); 

    } 

    // Setup the transport 
    $objTransport = Swift_SmtpTransport::newInstance(); 
    if($strSMTPHost) $objTransport->setHost ($strSMTPHost); 
    if($strSMTPPort) $objTransport->setPort($strSMTPPort); 

    // Setup the mailer 
    $objMailer = Swift_Mailer::newInstance($objTransport); 

    // Send the message 
    $objMailer->send($objMessage, $arrFailures); 

    if($arrFailures) 
     return $arrFailures; 

    return true; 
} 

这将完成这项工作。