Question

I have create a email template for a custom module.

For that case it have using core/email_template_mailer ( Mage::getModel('core/email_template_mailer');) and also it has html template .But it is not working;

Here define template html in config.xml

<template>
            <email>
                <vendor_create_account_email_template translate="label" module="vendor">
                    <label>New account</label>
                    <file>vendor_account_new.html</file>
                    <type>html</type>
                </vendor_create_account_email_template>
             </email>   
     </template>

favorite

i have create a email template for a custom module.

For that case it have using core/email_template_mailer ( Mage::getModel('core/email_template_mailer');) and also it has html template .But it is not working;

Here define template html in config.xml

New account vendor_account_new.html html

And Mail send code is

  $vednor=Mage::getModel('vendor/vendor')->load(66);
    /** @var $mailer Mage_Core_Model_Email_Template_Mailer */
            $mailer = Mage::getModel('core/email_template_mailer');
            $emailInfo = Mage::getModel('core/email_info');
            $emailInfo->addTo($vednor->getEmail(), $vednor->getName());
            $mailer->addEmailInfo($emailInfo);

            // Set all required params and send emails
            $mailer->setSender('amit@gmail.com');
            $mailer->setStoreId(1);
            $mailer->setTemplateId('vendor_create_account_email_template');
            $mailer->setTemplateParams(array('vendor' => $vednor));
            $mailer->send();

And code in vendor_account_new.html is

<!--@subject Welcome, {{var vendor.name}}! @-->
<!--@vars
{"store url=\"\"":"Store Url",
"var logo_url":"Email Logo Image Url",
"htmlescape var=vendor.name":"Customer Name",
"store url=\"customer/account/\"":"Customer Account Url",
"var vendor.email":"Customer Email",
"htmlescape var=$customer.password":"Customer Password"}
@-->

<!--@styles
body,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif; }
@-->

<body style="background:#F6F6F6; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
<div style="background:#F6F6F6; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
<table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
        <tr>
            <td align="center" valign="top" style="padding:20px 0 20px 0">
                <!-- [ header starts here] -->
                <table bgcolor="FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
                    <tr>
                        <td valign="top">
                            <a href="{{store url=""}}"><img src="{{var logo_url}}" alt="{{var logo_alt}}" style="margin-bottom:10px;" border="0"/></a></td>
                    </tr>
                <!-- [ middle starts here] -->
                    <tr>
                        <td valign="top">
                            <h1 style="font-size:22px; font-weight:normal; line-height:22px; margin:0 0 11px 0;"">Dear {{htmlescape var=$vendor.name}},</h1>
                            <p style="font-size:12px; line-height:16px; margin:0 0 16px 0;">Welcome to {{var store.getFrontendName()}}. To log in when visiting our site just click <a href="{{store url="customer/account/"}}" style="color:#1E7EC8;">Login</a> or <a href="{{store url="customer/account/"}}" style="color:#1E7EC8;">My Account</a> at the top of every page, and then enter your e-mail address and password.</p>
                            <p style="border:1px solid #E0E0E0; font-size:12px; line-height:16px; margin:0; padding:13px 18px; background:#f9f9f9;">
                                Use the following values when prompted to log in:<br/>
                                <strong>E-mail</strong>: {{var vendor.email}}<br/>
                                <strong>Password</strong>: {{htmlescape var=$vendor.password}}<p>
                            <p style="font-size:12px; line-height:16px; margin:0 0 8px 0;">When you log in to your account, you will be able to do the following:</p>
                            <ul style="font-size:12px; line-height:16px; margin:0 0 16px 0; padding:0;">
                                <li style="list-style:none inside; padding:0 0 0 10px;">&ndash; Proceed through checkout faster when making a purchase</li>
                                <li style="list-style:none inside; padding:0 0 0 10px;">&ndash; Check the status of orders</li>
                                <li style="list-style:none inside; padding:0 0 0 10px;">&ndash; View past orders</li>
                                <li style="list-style:none inside; padding:0 0 0 10px;">&ndash; Make changes to your account information</li>
                                <li style="list-style:none inside; padding:0 0 0 10px;">&ndash; Change your password</li>
                                <li style="list-style:none inside; padding:0 0 0 10px;">&ndash; Store alternative addresses (for shipping to multiple family members and friends!)</li>
                            </ul>
                            <p style="font-size:12px; line-height:16px; margin:0;">If you have any questions about your account or any other matter, please feel free to contact us at <a href="mailto:{{config path='trans_email/ident_support/email'}}" style="color:#1E7EC8;">{{config path='trans_email/ident_support/email'}}</a> or by phone at {{config path='general/store_information/phone'}}.</p>
                        </td>
                    </tr>
                    <tr>
                        <td bgcolor="#EAEAEA" align="center" style="background:#EAEAEA; text-align:center;"><center><p style="font-size:12px; margin:0;">Thank you again, <strong>{{var store.getFrontendName()}}</strong></p></center></td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</div>
</body>

Can any one tell me,what are the issue...

Was it helpful?

Solution 2

After a long fight with code , i have got it solution.Main, issue was the code format and it variable system format.

Here the code And steps:

Step1:Get current store id.

 $storeId=Mage::app()->getStore()->getId();

Step2: Sender() parameters should be in array format array('email'=>(string) $senderemail,'name'=> (string)'$sendername); ....

Full code is

 $storeId=Mage::app()->getStore()->getId();
$Vendor=Mage::getModel('vendor/vendor')->load(57);

    /** @var $mailer Mage_Core_Model_Email_Template_Mailer */
            $mailer = Mage::getModel('core/email_template_mailer');
            $emailInfo = Mage::getModel('core/email_info');
            $emailInfo->addTo((string)$Vendor->getEmail(),(string) $Vendor->getName());
            $mailer->addEmailInfo($emailInfo);
         // Set all required params and send emails
            $mailer->setSender(array('email'=>(string) 'dev.amitbera@gmail.com','name'=> (string)'Bal ta'));
            $mailer->setStoreId($storeId);
            $mailer->setTemplateId((string) 'vendor_account_create_template');
            $mailer->setTemplateParams(array('vendor'=>$Vendor));
            $mailer->send();

OTHER TIPS

use this..

for config.xml

<template>
            <email>
                <custom_payment  module="paymentlink">
                    <label>Payment Link</label>
                    <file>custom_payment.html</file>  <!-- this specifies the path where the custom template is located -->
                    <type>html</type>
                </custom_payment>
            </email>
        </template>

for controller

try{
 //load the custom template to the email  
    $emailTemplate = Mage::getModel('core/email_template')->loadDefault('custom_payment');
 // it depends on the template variables
    $emailTemplateVariables = array();
    $emailTemplateVariables['order_id'] = $data['order'];
    $emailTemplateVariables['logo_url'] = $logo;
    $emailTemplateVariables['customer_name'] = $firstname;
    $emailTemplateVariables['customer_info'] = $firstname.' '.$lastname;
    $emailTemplateVariables['shipment_url'] = $data['link'];
    $emailTemplateVariables['store_name'] = Mage::app()->getStore()->getName();

    $emailTemplate->setSenderName($senderName);
    $emailTemplate->setSenderEmail($senderEmail);
    $emailTemplate->setType('html');
    $emailTemplate->setTemplateSubject($firstname.' you forgot to choose shipping options for your product');
    $emailTemplate->send($data['email'], $firstname . $lastname, $emailTemplateVariables);
    $linker = mysql_real_escape_string(base64_encode($data['link'])); //print_r($linker);exit;
    $model = Mage::getModel('paymentlink/paymentlink')
    ->setRelatedOrderid($data['order'])
    ->setCustEmail($data['email'])
    ->setPrice($data['price'])
    ->setReceived(0)
    ->setLink($linker)
    ->setLinkId($data['key'])
    ->save();
Mage::getSingleton('adminhtml/session')->addSuccess("Link has been Generated successfully & Email has been sent ! </br>".$data['link']."");
    }
    catch (Exception $e) {
        $errorMessage = $e->getMessage();
        Mage::getSingleton('adminhtml/session')->addError("We cannot send generated link . There must be some error occurs.");
        return $errorMessage;
    }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top