2011-01-26 22 views
0

我已经创建了一个自定义脚本来将大量客户导入到magento数据库。客户需要的是每100位客户导入他们需要的邮件,了解进行中的情况和进口情况。自定义脚本中的Magento邮件功能

那么,我怎样才能使用magento邮件功能,以便我可以像magento一样创建一个模板来发送邮件。请帮助我

回答

0

也可以做ZEND

这里的邮件功能是代码

$mail_body = "<h3> These are ordered by you in the event - '".$customer_event."' </h3> <br/>". $email_body;   
     $to_email = $email; 
     $to_name = $customer_name; 
     $subject = 'Orders'; 
     $Body  = $body; 
     $sender_email = "[email protected]"; 
     $sender_name = "mail"; 


     $html = new Zend_View(); 
     $html->setScriptPath('app/locale/en_US/template/email/'); 

     $html->assign('customer_name', $customer_name); 
     $html->assign('email', $to_email); 
     $html->assign('password', $password); 
     $html->assign('site_url', Mage::getUrl("")); 
     $html->assign('site_skin_url', Mage::getDesign()->getSkinUrl("images/")); 
     $html->assign('site_order_url', Mage::getUrl("").'Event.php?id='.$id.'&cart_id='.$cart_id); 
     $html->assign('site_name', 'Winecellarage'); 
     $html->assign('site_data', $mail_body); 

     $Body_text= $html->render($template); 
     $mail = new Zend_Mail('utf-8');  
     $mail->setBodyHtml($Body_text); 
     $mail->setFrom($sender_email, $sender_name); 
     $mail->addTo($to_email, $to_name); 
     //$mail->addCc($cc, $ccname); 
     //$mail->addBCc($bcc, $bccname); 
     $mail->setSubject($subject); 
     try { 
       if($mail->send()) 
       { 
       $msg .= "<p>Mail sent successfully to '$to_email' </p>"; 
       } 
     } 
     catch(Exception $ex) { 
       $err .= '<p>'.$error_msg = $ex->getMessage()."</p>"; 
     }  

这一个是工作正是我想要的。所以对某个人可能有用。

1

如果您只是从导入脚本执行此操作,则PHP mail函数应该足够了。

+0

是的邮件功能是现在使用的。但在导入发送两个通知通过所有客户的邮件后,所以我想使用magento模板概念。这就是为什么 – Elamurugan 2011-01-26 18:07:15

4

我认为你正在寻找大意如下的内容:

$store_id = $this->getStoreId(); 
$template = "import_script_email_template_name"; 

$from = Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $store_id); 
$to = array("name" => "Nick", "email" => "[email protected]"); 

$template_variables = array(
    "var1" => "somevalue", 
    "var2" => "someothervalue" 
); 


$mail = Mage::getModel("core/email_template"); 
$mail->setDesignConfig(array("area" => "frontend", "store" => $store_id)) 
    ->sendTransactional(
     $template_name, 
     $from, 
     $to["email"], 
     $to["name"], 
     $template_variables 
    ); 

注:这是从Mage_Sales_Model_Order::sendNewOrderEmail()取消,尚未经过测试,但它应该是绰绰有余,以获得更多你开始了。把它当作伪代码:)