在自定义电子邮件magento中添加取消订阅链接

use*_*841 4 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));
            }
    }

小智 5

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

Mage::getModel('newsletter/subscriber')->loadByEmail($email)->getUnsubscriptionLink();
Run Code Online (Sandbox Code Playgroud)

说明:

第一部分是订户的模型.
如果您想查看模型中的可用方法,请使用以下代码:

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

代码的第二部分loadByEmail($email)是获取1个特定的订户对象.$email应该是一个emailaddress的字符串.

代码的最后一部分是selfexplaning方法.它将生成取消订阅的链接.这是Magento提供的方法.