今天在猪八戒上,看到有人发布任务,要求二次开发最土团购系统,用户下单支付成功后,需要发送通知邮件,闲的没事,简单看了一下,感觉很好实现。在这里把基本思路说一下。
首先,编写邮件内容函数和模板。这个可以参考订阅邮件的发送,在/include/fuction/mailer.php这个文件里,照猫画虎,添加一个处理改邮件的函数。
function mail_order($city, $team, $partner, $order,$user){}
然后再新建一个模板,mail_order.html,具体表现形式,通过css控制即可。
函数和模板搞定,只需要调用函数,就可以将邮件发送出去了。
每一订单付款后,系统都会调用统一的一个方法,static public function BuyOne($order),这个方法在ZTeam.class这个类里,只需要在这个方法的最后调用mail_order即可在订单付款之后,将邮件发送出去。
补充:有朋友建议我再写详细一点,那我就把代码贴出来好了。
在/include/fuction/mailer.php最后面,添加如下代码
//订单付款后,发送邮件通知
function mail_order($team, $partner, $order)
{
global $INI;
$encoding = $INI['mail']['encoding'] ? $INI['mail']['encoding'] : 'UTF-8';
$week = array('日','一','二','三','四','五','六');
$today = date('Y年n月j日 星期') . $week[date('w')];
$user = Table::Fetch('user',$order['user_id']);//获取用户信息,主要是为了得到Email
/*获取优惠券*/
$condition = array(
'order_id' => $order['id'],
);
$coupons = DB::LimitQuery('coupon', array(
'condition' => $condition,
));
/*end*/
$vars = array(
'today' => $today,
'team' => $team,
'city' => $city,
'order' => $order,
'partner' => $partner,
'coupons'=>$coupons,
'help_email' => $INI['mail']['helpemail'],
'help_mobile' => $INI['mail']['helpphone'],
'notice_email' => $INI['mail']['reply'],
);
$message = render('mail_order', $vars);
$options = array(
'contentType' => 'text/html',
'encoding' => $encoding,
);
$from = $INI['mail']['from'];
$to = $user['email'];
$subject = '您在'.$INI['system']['sitename'].'的订单信息';
if ($INI['mail']['mail']=='mail') {
Mailer::SendMail($from, $to, $subject, $message, $options);
} else {
Mailer::SmtpMail($from, $to, $subject, $message, $options);
}
}
然后在include/template/目录下,新建一个模板文件mail_order.html。这个文件里,大家需要自己修改一下css代码,以便显示风格,和自己的网站相匹配。我随便写了一下,比较难看,只是把内容订单内容列出来了。代码比较多,我放到附件里,大家自行下载。
最后,在include/classes/ZTeam.class.php中找到static public function BuyOne这个函数,在ZCredit::Buy($order['user_id'], $order);这行代码后面添加:
$partner = Table::FetchForce(‘partner’, $team['partner_id']);
mail_order($team, $partner, $order) ;
这样,购买之后,就可以自动发送邮件通知了。
其实可以做进一步的升级,比如,用户下单之后,马上发一个通知邮件,付款成功之后,再发一个通知邮件。做一些设置,某个项目是否自动发送邮件,等等。
支持你
希望楼主用最新版写下代码,可以替换的,帮帮忙,谢谢。
要是你把详细的制作过程写出来就好了。针对我们不懂程序的新手,都能自己添加
具体操作能不能麻烦您写出来,
基本流程都写出来了,其实只要你懂一点php的知识,就可以自己写出来了。下面我简单的写一下,希望可以帮到你。
朋友,太谢谢你了。如果方便的话,能留个qq吗?想跟您请教。我的qq1010321454
是否可以发个一封邮件内包含多个团购项目,类似美团等网站的订阅邮件
最好还能导出.eml文件
发多个团购项目,很容易实现,定制一个页面就可以了
至于eml文件,对这个不太了解