magento 开发 -- 用户自定义发送邮件

以退货之后发送邮件给客服,客服和用户确认是否退货为例

1.创建邮件模板

app/code/core/Mage/Sales/etc/config.xml

<sales_email_order_refund_template translate="label" module="sales">
		<label>Order Refunding</label>
		<file>sales/order_refunding.html</file>
		<type>html</type>
</sales_email_order_refund_template>

app/locale/en_US/template/email/sales/order_refunding.html

<!--@subject {{var store.getFrontendName()}}: Order # {{var increment_id}} refunding @-->
<!--@vars
{"store url=\"\"":"Store Url",
"var logo_url":"Email Logo Image Url",
"var logo_alt":"Email Logo Image Alt",
"htmlescape var=user_name":"Guest Customer Name",
"var increment_id":"Order Id",
"var store.getFrontendName()":"Store Name"}
@-->
<!--@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 {{var receive_name}},</h1>
                    <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
                        The order # {{var increment_id}} is refunding<br/>
                    </p>
                    <p style="font-size:12px; line-height:16px; margin:0;">
                        <strong>He/She's information is:</strong><br>
                        Order Increment Id:{{var increment_id}}<br>
                        Name: {{var user_name}}<br>
						E-mail: {{var user_email}}<br>
						Telephone: {{var telephone}}<br>
                    </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>

后台操作System ->Transactional Emails -> Add New Template



保存模板之后,开始写发送邮件的PHP代码

//发送邮件给客服
            $storeId = $order->getStoreId();
            $customerName = $order->getCustomer_lastname().' '.$order->getCustomer_firstname();
            $increment_id = $order->getIncrement_id();
            $shippingId = $order->getShipping_address_id();
            $address = Mage::getModel('sales/order_address')->load($shippingId);
            $telephone = $address->getTelephone();
            $user_email = $address->getEmail();
            
            //接收邮件在后台Custom Email 1里配置,默认发送邮给Custom Email 1里配置的邮件地址
            $receiveEmail = Mage::getStoreConfig('trans_email/ident_custom1/email');
            $receiveName = Mage::getStoreConfig('trans_email/ident_custom1/name'); 

            $vars = array('user_name' => $customerName, 'increment_id' => $increment_id , 'user_email'=>$user_email, 'telephone'=>$telephone ,'receive_name'=>$receiveName);
            try {
	            $templateId = "Order Refunding";
				$emailTemplate = Mage::getModel('core/email_template')->loadByCode($templateId);
	
				$emailTemplate->setSenderEmail(Mage::getStoreConfig('trans_email/ident_general/email', $storeId));
				$emailTemplate->setSenderName(Mage::getStoreConfig('trans_email/ident_general/name', $storeId));				
				//echo $emailTemplate->getProcessedTemplate($vars);  //预览邮件效果	
				$emailTemplate->send($receiveEmail,$receiveName, $vars);
            }catch (Exception $e){
            	Mage::log('The Order '.$increment_id.' is refunding,But not email to Customer Service');
            	Mage::getSingleton('catalog/session')
                ->addException($e, $this->__('Some emails were not sent.'));
            }

一切OK之后,你的自定义邮件将会被发送


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值