Zend_Mail用$ mail-> setReplyTo发送电子邮件

时间:2010-03-05 12:39:41

标签: php zend-mail

为什么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' => 'adminmail@gmail.com',
            '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('adminmail@gmail.com', $from);
        $mail->addTo($email);
        $mail->setSubject($title);

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

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

2 个答案:

答案 0 :(得分:2)

如果您使用的是Zend版本,则可以使用Zend_Mail :: setReplyTo()。 1.8

如果不是(< = 1.8),你应该使用Zend_Mail :: addHeader('Reply-To','replymail@example.com')

答案 1 :(得分:0)

这是一个错误,已在新版本中修复。 ;)