在 Magento 交易电子邮件中添加 replyTo

Add replyTo in Magento Transactional Email

我想做的是在 magento 的核心交易电子邮件中添加一个 replyto 字段。类似于此 post 中使用 bcc 存档的内容,但用于 replyTo。有什么想法吗?

更新: 只是为了澄清这一点。在 magento TEMPLATE class 中,可以添加 replyTo header(核心功能),但在 MAILER class 中,这是不可能的。这就是我需要的。

Reply-To 是标准电子邮件 header:RFC 5322,第 3.6.2 节,其格式为

"Reply-To:" address-list

因此您可以像添加自定义项一样添加它 header:

$mail->addHeader("Reply-To", "reply.to@example.com");

//Mage has addReplyTo() depending on version
$mail->addReplyTo('email@example.com', 'Name');

另见 Zend Documentation for Zend_Mail,这是 Magento 使用的内容。

所以我设法通过扩展 MAILER class 来解决这个问题。

  • 围绕第74行,函数send(),需要添加$emailTemplate->setReplyTo($this->getReplyTo());

  • 也将此添加到相同的函数中 class:

    public function setReplyTo($replyto) { return $this->setData('replyto', $replyto); } public function getReplyTo() { return $this->_getData('replyto'); }

    • 最后,当您在您的分机上设置 replyTo (:P) 时,您只需调用此 setReplyTo。

      $mailer = Mage::getModel('core/email_template_mailer');

谢谢 VladFR,但我无法弄清楚如何实现您的建议。

不需要扩展任何 class。

只需使用:

$mailTemplate = Mage::getModel('core/email_template');
$mailTemplate->setReplyTo('test@example.com');
$mailTemplate->sendTransactional($templateId, $sender, $recipient, '', $vars, $storeId);