在自定义电子邮件magento中添加退订链接

问题描述

| 如何在自定义电子邮件通知添加退订链接我正在通过zend邮件功能发送电子邮件我遵循此功能在正文部分中以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));
            }
    }
    

解决方法

如果您有自定义模块,请使用以下代码:
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>\';
}
代码“ 3”的第二部分是获取1个特定的订户对象。
$email
应该是电子邮件地址的字符串。 代码的最后一部分是一个自我解释的方法。它将生成一个退订链接。这是Magento提供的方法。     ,在我的Magento版本中,创建新的新闻稿模板时,默认情况下会获得以下代码:
Follow this link to unsubscribe <!-- This tag is for unsubscribe link  --><a href=\"{{var subscriber.getUnsubscriptionLink()}}\">{{var subscriber.getUnsubscriptionLink()}}</a>
我希望它可以在任何Magento版本中使用。     ,我正在使用Magento 1.9。 要在新闻通讯模板中添加新闻通讯退订链接,请执行以下步骤: 覆盖核心文件   /app/code/core/Mage/Newsletter/Model/Subscriber.php 通过在本地目录中复制   /app/code/local/Mage/Newsletter/Model/Subscriber.php 在编辑器中打开以编辑代码并搜索
function sendConfirmationSuccessEmail()
替换代码 $ email-> sendTransactional(     法师:: getStoreConfig(self :: XML_PATH_SUCCESS_EMAIL_TEMPLATE),     法师:: getStoreConfig(self :: XML_PATH_SUCCESS_EMAIL_IDENTITY),     $ this-> getEmail(),     $ this-> getName(),     array(\'subscriber \'=> $ this) ); 有了这个 $ email-> sendTransactional(     法师:: getStoreConfig(self :: XML_PATH_SUCCESS_EMAIL_TEMPLATE),     法师:: getStoreConfig(self :: XML_PATH_SUCCESS_EMAIL_IDENTITY),     $ this-> getEmail(),     $ this-> getName(),     array(\'subscriber \'=> $ this,\'unsubscribe \'=> $ this-> getUnsubscriptionLink()) ); 并将此代码放在要使用退订链接的电子邮件模板中:
<a href=\"{{var unsubscribe}}\">Unsubscribe here</a>
而已! 希望这对某人有帮助。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...