第一步:更改数据库
用MySQL管理工具找到 ecs_mail_templates表插入一条新会员注册邮件提醒模板数据。
INSERT INTO ecs_mail_templates (template_id, template_code, is_html, template_subject, template_content, last_modify, last_send, type) VALUES(16, 'remind_of_new_reg', 1, '新会员注册提醒', '<p>亲爱的管理员,您好:<br /><br />快来看看吧,PHPALLY又有新会员注册了。<br /><br />-----------------------------------------------------------------<br /><br />会员:{$user_name} <br /><br />邮箱:{$email}<br /><br />管理中心登陆:<a target="_blank" href="http://ecshop.phpally.com/">http://ecshop.phpally.com</a><br /><br />PHPALLY小秘书提醒<br /><br />{$send_date}</p>', 1330402034, 0, 'template');
修改商店设置WAP设置选项卡的位置,在其之前增加选项卡“邮件设置”。
UPDATE ecs_shop_config SET id=id+1 WHERE id=9; UPDATE ecs_shop_config SET id=id+100, parent_id=parent_id+1 WHERE parent_id=9; INSERT INTO eyo_shop_config (id, parent_id, code, type, store_range, store_dir, value, sort_order) VALUES (910, 9, 'send_reg_email', 'select', '1,0', '', '1', 1);
将客服邮件地址输入框从网店信息选项卡移至邮件设置选项卡。
UPDATE ecs_shop_config SET id=901 WHERE code="service_email";
第二步: 更改语言文件。
/languages/zh_cn/admin/mail_template.php中添加:
$_LANG['remind_of_new_reg'] = '新会员注册提醒模板';
/languages/zh_cn/admin/shop_config.php中添加:
$_LANG['cfg_desc']['service_email'] = '用于接收新订单提醒、新会员注册提醒等商城运营邮件,多个邮箱请用英文逗号分隔。'; $_LANG['cfg_name']['send_reg_email'] = '新会员注册时是否给管理员发送邮件'; $_LANG['cfg_range']['send_reg_email']['0'] = '不发送邮件'; $_LANG['cfg_range']['send_reg_email']['1'] = '发送邮件'; $_LANG['cfg_desc']['send_service_email'] = "商城信息中的客服邮件地址或管理员邮件地址不为空时,该选项有效。";
第三步:增加PHP处理逻辑,flow.php和user.php中均有会员注册逻辑,所以这两个文件都要增加邮件提醒代码。
/flow.php中大概275行:if (register(trim($_POST['username']), trim($_POST['password']), trim($_POST['email'])))下增加:
if (register(trim($_POST['username']), trim($_POST['password']), trim($_POST['email']))) { /* 用户注册成功,如果需要,发邮件给管理员 */ if ($GLOBALS['_CFG']['send_reg_email'] == '1') { $tpl = get_mail_template('remind_of_new_reg'); $smarty->assign('shop_name', $_CFG['shop_name']); $smarty->assign('send_date', date($_CFG['time_format'])); $smarty->assign('user_name', trim($_POST['username'])); $smarty->assign('email', trim($_POST['email'])); $content = $smarty->fetch('str:' . $tpl['template_content']); if($_CFG['service_email'] != '') { //ECSHOP默认不支持多个邮件发送,将逗号分隔的邮件地址分解成数组,再循环逐个发送。 $arrEmail = explode("," ,$_CFG['['service_email']); foreach($arrEmail as $arrEmailValue) { send_mail($_CFG['shop_name'], $arrEmailValue, $tpl['template_subject'], $content, $tpl['is_html']); //发给管理员 } } } ecs_header("Location: flow.php?step=consignee\n"); exit; }
/user.php中约235行:
/* 注册会员邮件确认通知 */ $tpl = get_mail_template('send_reg'); $smarty->assign('shop_name', $_CFG['shop_name']); $smarty->assign('send_date', date($_CFG['time_format'])); $smarty->assign('user_name',$username); $content = $smarty->fetch('str:' . $tpl['template_content']); send_mail($_CFG['shop_name'], $email, $tpl['template_subject'], $content, $tpl['is_html']);
下增加以下代码:
if (register(trim($_POST['username']), trim($_POST['password']), trim($_POST['email']))) { /* 用户注册成功,如果需要,发邮件给客服和管理员 */ if ($GLOBALS['_CFG']['send_reg_email'] == '1') { $tpl = get_mail_template('remind_of_new_reg'); $smarty->assign('shop_name', $_CFG['shop_name']); $smarty->assign('send_date', date($_CFG['time_format'])); $smarty->assign('user_name', trim($_POST['username'])); $smarty->assign('email', trim($_POST['email'])); $content = $smarty->fetch('str:' . $tpl['template_content']); if($_CFG['service_email'] != '') { //ECSHOP默认不支持多个邮件发送,将逗号分隔的邮件地址分解成数组,再循环逐个发送。 $arrEmail = explode("," ,$_CFG['service_email']); foreach($arrEmail as $arrEmailValue) { send_mail($_CFG['shop_name'], $arrEmailValue, $tpl['template_subject'], $content, $tpl['is_html']); //发给管理员 } } } ecs_header("Location: flow.php?step=consignee\n"); exit; }
ECSHOP默认不支持多个邮件发送,以上代码将英文逗号分隔的邮件地址分解成数组,再循环逐个发送。你可以参考上述方法,将各选项卡中邮件相关设置全部移到“邮件设置”选项卡中。