Php 更改magento中共享愿望列表邮件的发件人电子邮件地址

Php 更改magento中共享愿望列表邮件的发件人电子邮件地址,php,magento,Php,Magento,我想更改共享愿望列表电子邮件的发件人电子邮件地址客户在与朋友共享其愿望列表时发送的电子邮件,我尝试将客户电子邮件作为发件人地址,将客户名称作为发件人名称,认为可以在管理中完成,您只需将其更改为另一个,但我想要客户电子邮件,需要帮忙吗 谢谢,我不会那样做的。相反,我会将发件人地址设置为我的网络商店的地址,并将回复标题设置为收件人朋友的地址。从这样的地址进行欺骗可能会使您的电子邮件陷入垃圾邮件陷阱。浏览一下代码后,这封电子邮件似乎是从 app/code/core/Mage/Wishlist/cont

我想更改共享愿望列表电子邮件的发件人电子邮件地址客户在与朋友共享其愿望列表时发送的电子邮件,我尝试将客户电子邮件作为发件人地址,将客户名称作为发件人名称,认为可以在管理中完成,您只需将其更改为另一个,但我想要客户电子邮件,需要帮忙吗


谢谢,我不会那样做的。相反,我会将发件人地址设置为我的网络商店的地址,并将
回复
标题设置为收件人朋友的地址。从这样的地址进行欺骗可能会使您的电子邮件陷入垃圾邮件陷阱。

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

app/code/core/Mage/Wishlist/controllers/IndexController.php
所以你需要覆盖这个控制器。我从未做过这样的事,但它是可行的。有一个主题,如果你在谷歌上搜索“magento override controller”,你也会发现很多信息

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

$emailModel->sendTransactional();
我还认为你应该把寄件人的地址留给商店,因为 将其设置为其他地址可能会将邮件标记为垃圾邮件。但是如果你想 只需将此调用的第二个参数更改为键为“name”的数组 和“电子邮件”以及所需的值

但我强烈建议将回复也设置为header。这是可能的,因为此模型使用Zend_邮件对象来执行脏工作,并将此对象视为单例。这意味着,如果您将其创建为第一个并对其进行配置,则将使用此配置发送下一封邮件。在代码中,更改

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