在magento中更改共享wishlist邮件的发件人电子邮件地址

时间:2011-03-17 17:20:10

标签: php magento

我想更改客户在与朋友分享心愿单时发送的分享心愿单电子邮件的发件人电子邮件地址,我正在尝试将客户电子邮件作为发件人地址,客户名称作为来自姓名,以为它可以在管理员中完成,你只需将其更改为另一个,但我想要客户电子邮件,需要一些帮助

感谢

2 个答案:

答案 0 :(得分:1)

我不这样做。相反,我会将起始地址设置为我的网上商店的地址,并将Reply-To标题设置为收件人朋友的标题。从这样的地址进行欺骗会使您的电子邮件陷入垃圾邮件陷阱。

答案 1 :(得分:0)

稍微浏览一下代码后,似乎这封电子邮件是从

发送的
app/code/core/Mage/Wishlist/controllers/IndexController.php

所以你需要覆盖这个控制器。我从未做过这样的事情,但它是可行的。有一个主题here,如果你谷歌'magento覆盖控制器',你也会发现很多信息。

之后,您必须重新实现(意味着复制和编辑)方法sendAction()。在这是一个电话

$emailModel->sendTransactional();

我还认为您应该将发件人地址留给商店的地址,因为 将其设置为另一个地址可能会将邮件标记为垃圾邮件。但如果你愿意的话 这样做只是将此调用的第二个参数更改为具有键'name'的数组 和'电子邮件'和所需的值。

但我强烈建议您也设置Reply-To标头。这是可能的,因为此模型使用Zend_Mail对象执行脏工作并将此对象视为单例。这意味着如果您首先创建它并进行配置,则将使用此配置发送下一封邮件。在代码中,更改

foreach($emails as $email) {
    $emailModel->sendTransactional(
        Mage::getStoreConfig('wishlist/email/email_template'),
//snip

foreach($emails as $email) {
    $mail = $emailModel->getMail();
    $mail->setReplyTo($customer->getEmail());
    $emailModel->sendTransactional(
        Mage::getStoreConfig('wishlist/email/email_template'),
//snip

成功