home-code

示例❤源码



### 向服务商致敬

* 本节介绍的功能,由第三方服务商提供:
  - 向TA们致敬!

* 系统已集成接口:
  - 6个短信接口;
  - 3个邮件接口;


### 6个短信接口

* 已集成接口:
  - 阿里大于短信,腾讯云短信,亿美软通,创瑞传媒,吉信通(移动商务),漫道科技(博星);

* 安装申请
  - 如需要,请自行找相关短信供应商,开通短信功能;
  - 自行搜搜,或找如下配置文件:/imcat/adpt/smsapi/api_cfgs.php,根据相关提示找短信供应商(网址);
  - 如果需要,[Composer装扩展](./deeps-class);

* 短信配置
  - 根据供应商提供的资料,配置短信账户信息;
  - [/root/cfgs/excfg/ex_sms.php]({=PATH_PROJ}/demo.php?home-code&fp={proj}/root/cfgs/excfg/ex_sms.php-cdemo);

* 接口说明和选择
  - 目前短信,绝大部分是基于模板短信;
  - 其中`亿美`可自定义短信内容;
  - 其中`腾讯`基于内容发送,但内容的格式,要与腾讯后台设置的模板一致;
  - 其他:资费和限制,请向供应商索要;

* 短信发送
  - 配置好了,发送短信就是一件很轻松的事情!

```
$sms = new extSms();
$code = rand(12345, 98765);
# 基于内容短信
$data = "您的验证码{$code},该验证码5分钟内有效,请勿泄漏于他人!【贴心猫】";
$res = $sms->sendSMS('13800138000', $data);
# 基于模板短信
$res = $sms->sendTid('13537432147', ['code'=>$code]);
```


### 3个邮件接口

* 已集成接口:
  - 阿里邮件推送,phpmailer,swiftmailer;

* 安装申请
  - 如需要,请开通相关功能功能;
  - 阿里的推送,需要阿里后台,设置发送域名,并申请 AccessKeyId/AccessKeySecret;  
  - phpmailer,swiftmailer 发送:需要设置好你自己发送邮箱的smtp等功能,请到邮件服务器上设置;
  - 如果需要,[Composer装扩展](./deeps-class);

* 邮件配置
  - 根据上述获取的资料,配置短信账户信息;
  - [/root/cfgs/excfg/ex_mail.php]({=PATH_PROJ}/demo.php?home-code&fp={proj}/root/cfgs/excfg/ex_mail.php-cdemo);

* 接口说明和选择
  - 阿里设置麻烦,但发送成功率非常高!!!  
    而且,有免费额度(200封/每天)限制,超过额度要收费。
  - 目前反垃圾邮件很严格,很多情况下,普通smtp发邮件,调试时少量发没问题;上线后大量发就不成功或重功率非常低!
  - 其他:资费和限制,请向邮件后台查看或供应商索要;

* 邮件发送
  - 配置好了,发送短信就是一件很轻松的事情!

简单调用
```
$to = '10000@qq.com';
$title = '周日锻炼计划';
$body = '周日锻炼计划:爬山,睡觉!';
$vname = '和平鸽';
$em = new extEmail();
$res = $em->send($to, $title, $body, $vname);
```
设置邮件模板调用
```
### sy_user.php 邮件模板设置
$_sy_user['utpls'] = array(
    //'idpwd' => '',
    'mail-act' => "umc:uio/mail-regact", // 注册激活邮件:模板地址
    'sms-vcode' => "您的注册验证码是:{code} $signmsg", 
    //'mail-vcode' => 'umc:uio/reg-xxx.html', 
    //'sms-act' => '您的激活验证码是:{code} $signmsg', 
    'mail-getpw' => "umc:uio/mail-getpw", // 找回密码邮件:模板地址
    'mail-order' => "umc:uio/mail-order", // order通知:模板地址
);
### code 
$ucfg = read('user','sy'); 
$emtpl = $ucfg['utpls']['mail-order'];
$sys_name = cfg('sys_name'); 
$re3['act'] = $act;
$re3['site'] = $sys_name;
$re3['time'] = date('Y-m-d H:i'); 
$re3['root'] = 'http://www.xxx_yyy.com';
$re3 = $re3 + $order;
$detail = vopTpls::show($emtpl,'',$re3); // dump($detail);
$mail = new extEmail();
$rem = $mail->send($order['memail'],"Order Notice({$re3['cid']})",$detail,$sys_name);
// log,return
if($rem=='SentOK'){
    $msg = "Send Order Notice Mail [SentOK]";
}else{
    $msg = "Send Mail Error ($rem)";
}
### {views}/umc/uio/mail-order 模板文件略
```


### 核心更新提示

* v5.0正式版
  - 新增加:阿里大于短信,腾讯云短信 : 近日更新核心,将在v5.0正式版体现;

-End-