在Magento自动发送电子邮件


Automatically sending emails in Magento

我正在帮助某人建立一家从另一家公司购买的Magento商店。该商店允许用户上传商品,用户可以在网站上互相发送消息。除了用户在收到新消息时不会收到电子邮件通知之外,一切都很好。

我该如何实现每次用户收到新消息时自动发送电子邮件?

感谢

您可以添加一个事件观察器。您有一些代码可以处理用户发送的消息。很抱歉,我不能说得更具体,但听起来这个网站有一个定制的模块,所以我不能告诉你去哪里看。

一旦你找到了消息魔法发生的功能,你就可以像一样调度自己的事件

Mage::dispatchEvent('user_message_sent_after');

然后,在自定义模块中,查找config.xml文件(它应该在etc/文件夹中)。你在那里添加了类似的东西

<frontend>
    <events>
        <user_message_sent_after>
            <observers>
                <your_name_for_this_tag>
                    <type>singleton</type>
                    <class>Packagename_Modulename_Model_Observer</class>
                    <method>sendEmailNotification</method>
                </your_name_for_this_tag>
            </observers>
        </user_message_sent_after>
    </events>
</frontend>

如果已经有一个events标签,你可以添加到其中,而不是制作第二个user_message_sent_after'不是默认的Magento事件。我编了这个名字,你可以使用任何其他名字,只要它与你在dispatchEvent调用中使用的名字相等。

定义电子邮件模板。在app''locae''yourlanguage_yourcountrycode''template''email''文件夹中,添加一个名为message_notification 的文件

Hi {{var name}},<br>
{{var sender}} has sent you a message!<br>
Bye

接下来,最后添加实际的观察者。在自定义模块中找到模型文件夹,然后添加一个名为Observer.php的文件

<?php
class Packagename_Modulename_Model_Observer {
  public function sendEmailNotification($observer) {
    // add emailing functionality
  }

关于如何发送电子邮件的古老但仍然非常有用的基本解释如下:http://inchoo.net/ecommerce/magento/magento-custom-emails/