【问题标题】:Adding unsubscribe link in custom email magento在自定义电子邮件 magento 中添加取消订阅链接
【发布时间】:2011-05-24 13:00:23
【问题描述】:

如何在自定义电子邮件通知中添加取消订阅链接我正在通过zend邮件功能发送电子邮件我在正文部分遵循此功能sending mail in magento我想添加取消订阅链接我们如何实现? 在我的电子邮件通知中,我正在使用此功能。

public function sendMail() { $post = $this->getRequest()->getPost(); if ($post){ $random=rand(1234,2343); $to_email = $this->getRequest()->getParam("email"); $to_name = 'Hello User'; $subject = ' Test Mail- CS'; $Body="Test Mail Code : "; $sender_email = "sender@sender.com"; $sender_name = "sender name"; $mail = new Zend_Mail(); //class for mail $mail->setBodyHtml($Body); //for sending message containing html code $mail->setFrom($sender_email, $sender_name); $mail->addTo($to_email, $to_name); //$mail->addCc($cc, $ccname); //can set cc //$mail->addBCc($bcc, $bccname); //can set bcc $mail->setSubject($subject); $msg =''; try { if($mail->send()) { $msg = true; } } catch(Exception $ex) { $msg = false; //die("Error sending mail to $to,$error_msg"); } $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($msg)); } }

【问题讨论】:

    标签: magento


    【解决方案1】:

    如果您有自定义模块,请使用以下代码:

    Mage::getModel('newsletter/subscriber')->loadByEmail($email)->getUnsubscriptionLink();
    

    说明:

    第一部分是订阅者的模型。
    如果您想查看模型中的所有可用方法,只需使用以下代码:

    $myModel =  Mage::getModel('newsletter/subscriber');
    foreach (get_class_methods(get_class($myModel)) as $cMethod) {
        echo '<li>' . $cMethod . '</li>';
    }
    

    代码loadByEmail($email)的第二部分是获取1个特定的订阅者对象。 $email 应该是电子邮件地址的字符串。

    代码的最后一部分是一个自我解释的方法。它将生成一个取消订阅的链接。这是 Magento 提供的一种方法。

    【讨论】:

      【解决方案2】:

      在我的 Magento 版本中,我在创建新的时事通讯模板时默认获得以下代码:

      Follow this link to unsubscribe &lt;!-- This tag is for unsubscribe link --&gt;&lt;a href="{{var subscriber.getUnsubscriptionLink()}}"&gt;{{var subscriber.getUnsubscriptionLink()}}&lt;/a&gt;

      我希望它适用于任何 Magento 版本。

      【讨论】:

      • 那是在时事通讯的模板中,它可以在之外工作吗?
      • 在 1.6.2 的交易电子邮件中效果很好。谢谢!
      【解决方案3】:

      我正在使用 Magento 1.9。 要在时事通讯模板中添加时事通讯退订链接,请按以下步骤操作:

      1. 覆盖核心文件

      /app/code/core/Mage/Newsletter/Model/Subscriber.php

      复制到本地目录

      /app/code/local/Mage/Newsletter/Model/Subscriber.php

      1. 在编辑器中打开以编辑代码并搜索function sendConfirmationSuccessEmail() 替换代码
      $email->sendTransactional( Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_TEMPLATE), Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_IDENTITY), $this->getEmail(), $this->getName(), 数组('订阅者'=>$this) );

      有了这个

      $email->sendTransactional( Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_TEMPLATE), Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_IDENTITY), $this->getEmail(), $this->getName(), array('subscriber'=>$this, 'unsubscribe' =>$this->getUnsubscriptionLink()) );
      1. 并将此代码放在您要使用退订链接的电子邮件模板中:

        &lt;a href="{{var unsubscribe}}"&gt;Unsubscribe here&lt;/a&gt;

      就是这样!

      希望这对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 2012-12-02
        • 1970-01-01
        • 2016-03-28
        • 2016-06-27
        • 1970-01-01
        • 2012-07-08
        • 2011-03-24
        • 1970-01-01
        • 2020-07-28
        相关资源
        最近更新 更多