【问题标题】:Zend_Mail bug emailing with $mail->setReplyToZend_Mail 使用 $mail->setReplyTo 发送错误邮件
【发布时间】:2011-01-24 02:36:59
【问题描述】:

为什么 setReplyTo($reply_to_mail) 向 $reply_to_mail 发送电子邮件?不应该只是将电子邮件地址添加到电子邮件中的回复字段吗?

如果从网站表单发送邮件并填写回复字段,则消息将发送到回复电子邮件和我们的管理员电子邮件。

为什么它会重复电子邮件?应该只发送到我们的管理员邮箱。

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();
        }
    }
}

【问题讨论】:

  • 当我从脚本中删除 setReplyTo 时,消息发送正常,但在消息头中没有回复电子邮件。
  • 也许尝试使用 addHeader()?有人可以用 addHeader() 举例说明吗

标签: php zend-mail


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    如果不是(

    【讨论】:

      猜你喜欢
      • 2013-04-13
      • 2012-12-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 2017-10-26
      • 2012-05-09
      • 2011-06-13
      相关资源
      最近更新 更多