2009-06-05 46 views
0

为什么我使用此代码两次收到相同的附件!?带附件的ZF邮件问题

$mailer = new Zend_Mail('UTF-8'); 
$mailer->setFrom($group_email,$group_name); 
$mailer->setSubject($title); 
$mailer->setBodyHtml($full); 

$fileContents = file_get_contents('test.jpg'); 
$attachment = $mailer->createAttachment($fileContents); 
$attachment->filename = "test.jpg"; 
$mailer->addAttachment($attachment); 

     //get all subscribers 
     $i=0; 
     foreach ($subscribers->getGroupUsers($group_id) as $sub){ 
      if ($i==0){ 
       $mailer->addTo($sub->email); 
      } 
      else { 
       $mailer->addBcc($sub->email); 
      } 
      $i++; 
     } 

$mailer->send(); 

回答

1

那么问题实际上是在这一行

$mailer->addAttachment($attachment); 

没有它,它会工作。我不知道,因为它似乎是合乎逻辑调用addAttachment方法对我:P

+0

你的答案对我帮助很大+ 1从我 – Rinzler 2012-10-17 06:22:10

1

看起来这是因为你使用createAttachmentaddAttachment。请确保你正在关注如何做到这一点的documentation for Zend_Mail

例如:

$mail = new Zend_Mail(); 
// build message... 
$mail->createAttachment($someBinaryString); 
$mail->createAttachment($myImage, 
         'image/gif', 
         Zend_Mime::DISPOSITION_INLINE, 
         Zend_Mime::ENCODING_8BIT); 
0

这个工作对我来说尝试发送简历的Zend已经attachmnet

   $mail = new Zend_Mail(); 
       $mail->setBodyHTML (stripslashes ($message)); 

       // add attachment 
       $fileContents = file_get_contents($attachemnet); 
       $resume = $mail->createAttachment($fileContents); 
       $resume->filename = $EmployeeDeatils['resume']; 

       //$mail->createAttachment($attachemnet); 
       $mail->setFrom ($mail_template ['from_email'], $mail_template ['from_caption']); 
       $mail->addTo ($clientemail, $employee_name); 
       $mail->setSubject ($subject); 
       try { 
        $mail->send(); 
       } catch (Exception $e) { 
        $this->_helper->errorlog (" Send mail to member with activation link : " . $e->getMessage()); 
       }