0

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>

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 of 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...

1

There are issue with parameters send in function setSender

Step1:get current store id

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

After that Step2:Sender() send parameters in Sender() in array format kust like array('email'=>(string) $senderemail,'name'=> (string)'$sendername);

Details of code

 $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();
2
  • I am confused, is this now fixed? If so your answer is not 100% clear as to what the issue was – David Manners May 28 '14 at 20:49
  • Yes...The problem ,it is resolved...It was issue parameters Format ->setSender function when we trying send email using Mage::getModel('core/email_template_mailer'); – Amit Bera May 29 '14 at 3:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.