【发布时间】: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() 举例说明吗