问题描述
|
如何在自定义电子邮件通知中添加退订链接我正在通过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>
而已!
希望这对某人有帮助。