如何在自定义电子邮件通知中添加取消订阅链接我通过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));
}
}
答案 0 :(得分:5)
如果您有自定义模块,请使用以下代码:
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
应该是emailaddress的字符串。
代码的最后一部分是selfexplaning方法。它将生成取消订阅的链接。这是Magento提供的一种方法。
答案 1 :(得分:4)
在我的Magento版本中,我在创建新的简报模板时默认获得以下代码:
Follow this link to unsubscribe <!-- This tag is for unsubscribe link --><a href="{{var subscriber.getUnsubscriptionLink()}}">{{var subscriber.getUnsubscriptionLink()}}</a>
我希望它适用于任何Magento版本。
答案 2 :(得分:0)
我正在使用Magento 1.9。 要在新闻稿模板中添加简报取消订阅链接,请执行以下步骤:
/app/code/core/Mage/Newsletter/Model/Subscriber.php
通过本地目录中的副本
/app/code/local/Mage/Newsletter/Model/Subscriber.php
function sendConfirmationSuccessEmail()
替换代码$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) );
用这个
$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()) );
并将此代码放在您要使用取消订阅链接的电子邮件模板中:
<a href="{{var unsubscribe}}">Unsubscribe here</a>
那就是它!
希望这有助于某人。