2010-03-05 43 views
1

爲什麼setReplyTo($ reply_to_mail)發送電子郵件到$ reply_to_mail?不應該只是將電子郵件地址添加到電子郵件中的回覆字段?

Currenyly如果從網站表單發送郵件並填寫回復字段,郵件會發送到回覆電子郵件和我們的管理員電子郵件。

它爲什麼複製電子郵件?應只發送給我們的管理員電子郵件。

class Helper_Mail extends Zend_Controller_Action_Helper_Abstract 
{ 
    public function direct($email,$from,$message,$title,$replyto='') 
    { 
     $this->sendmail($email,$from,$message,$title,$replyto); 
    } 

    private function sendMail($email,$from,$message,$title,$replyto) 
    { 
     /* Configuring SMTP settings */ 
     $config = array(
      'auth' => 'login', 
      'ssl' => 'tls', 
      'username' => '[email protected]', 
      'password' => 'password', 
      'port' => 587); 

     $smtpHost = new Zend_Mail_Transport_Smtp('smtp.gmail.com',$config); 
     Zend_Mail::setDefaultTransport($smtpHost); 

     $mail = new Zend_Mail('UTF-8'); 
     $mail->setBodyHtml($message); 
     $mail->setFrom('[email protected]', $from); 
     $mail->addTo($email); 
     $mail->setSubject($title); 

     if(!empty($replyto)) 
     { 
      $mail->setReplyTo($replyto); 
     } 

     try 
     { 
      $mail->send(); 
     } 
     catch(Zend_Mail_Exception $e) 
     { 
      echo $e->getMessage(); 
     } 
    } 
} 
+0

當我從腳本中刪除setReplyTo時,消息發送正常,但沒有在消息頭中回覆電子郵件。 – Somebody

+0

也許嘗試使用addHeader()?有人可以用addHeader()顯示示例嗎? – Somebody

回答

0

這是一個錯誤,修正了新版本。 ;)

2

可以使用的Zend_Mail :: setReplyTo()如果你正在使用一個版本的Zend> 1.8

如果不是(< = 1.8),你應該使用的Zend_Mail的addHeader ::( '回覆', '[email protected]')