2014-03-03 96 views
0

我真的雨燕發送兩個字母:迅速安裝文件兩個字母

$mail = Mailer::getInstance($oData->Subject); 
        $mail->setTo($oData->Email, $oData->Recipient) 
         ->setBody($body , 'text/html') 
         ->setFrom(array('[email protected]' => 'some.com')); 
        $mail->setAttach($_FILES["Resume"]["tmp_name"]); 

        if (isset($aContent['Recipient']) && !empty($aContent['Recipient']['Value'])) { 
         $mail->setTo($aContent['Recipient']['Value']); 
        } 

        if ($mail->send()) { 
         $mail2 = Mailer::getInstance("Thanks!"); 
         $mail2->setFrom(array('[email protected]' => 'some.com')) 
          ->setTo(array($aContent['Email']['Value'])) 
          ->setBody($thanksEnding , 'text/html') 
          ->setSubject("Wonderful Subj"); 
         if ($mail2->send()) { 
          $this->show->success = TRUE; 
          $this->show->message = __("Message sent."); 
         } 
        } else { 
         $this->show->message = __("Error."); 
        } 

和兩個字母有附件。我怎樣才能使第一個字母附件?

+0

顯示'Mailer :: getInstance'的代碼!這很可能是你的麻煩。 –

+0

我使用代碼$ mail2 = new Mailer(「Thanks!」)解決了一個問題; – user3374941

回答

1
getInstance() 

看起來像是工廠模式或單件模式。它看起來更像是一個單例模式,因此在調用時您將獲得對象的SAME實例。

所以$mail$mail2可能是相同的情況。

使用更好的設計模式並使用new Mailer()創建新實例。

+0

謝謝,我認爲這會有所幫助。 – user3374941

0

在發送之前調用$mailer2->setAttach(null);可能會訣竅。

+0

它會導致致命錯誤:(不幸的是 – user3374941

+0

對不起,不是致命的錯誤,只是警告,但消息總之沒有發送 – user3374941

+0

警告:fopen()[function.fopen]:文件名不能爲空... Warning:Can not修改標題信息 - 已經發送的標題(輸出開始於... – user3374941