在 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);
我想做的是在 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);