分享概要:讲述yii框架,用户注册然后以邮箱通知和短信通知用户注册状态。短信使用阿里云,邮箱使用swiftmailer插件。
支持php~~~
感觉博主写的不错,请小伙伴们转载和分享点赞哟!

功能点: 用户注册通知

用户注册类:

 public function actionCreateUsers(){//数据过滤 数据判断   这个省略了。。。。 直接看重点if($model->save()){ //对用户数据的保存$data = $model->attributes;//获取当前保存用户的全部信息$data['password_original'] =$password; //明文密码//发送邮件通知\common\utils\Tool::sendMail($model->email, '恭喜你在xxx系统注册成功。', $data, 'usersign') ;//p1 :用户邮箱 p2:通知信息标题 p3:用户数据 p4:通知信息模板//发送短信通知 阿里云SMsDemo::sendMsgOnRegister($model->mobile_phone,$model->real_name,$model->user_name,$data['password_original']);} return $this->redirect('/index');}

2.邮箱工具类:
先在config里的main.php添加组件:

'mailer' => ['class' => 'yii\swiftmailer\Mailer',//使用swiftmailer扩展  优点不占用服务器资源内存'viewPath' => '@common/mail', //模板路径'useFileTransport' => false,//如果启用表示邮件发送到服务器并保存, 关闭时表示真实发送到用户邮箱。。。'transport' => ['class' => 'Swift_SmtpTransport',  'host' => 'smtp.exmail.qq.com', //QQ企业邮箱 SSL启用 端口:587/465 (其他邮箱配置请看下面提示:)'port' => 465,'encryption' => 'ssl',// (tls / ssl)根据情况选择符合你的//用户密码放在这里不太安全,可以放在数据库里然后去取'username' => 'yyy@xxx.com',//写自己的邮箱用户名'password' => 'zzzzz',//密码],//发送的邮件信息配置'messageConfig' => ['charset' => 'utf-8',//编码'from' => ['support@mmcuav.com' => 'uuu'],//uuu修改成自己的签名 随意],],

提示:

126邮箱:
POP3服务器地址:pop.126.com(端口:110)
SMTP服务器地址:smtp.126.com(端口:25)

139邮箱:
POP3服务器地址:POP.139.com(端口:110)
SMTP服务器地址:SMTP.139.com(端口:25)

163.com:
POP3服务器地址:pop.163.com(端口:110)
SMTP服务器地址:smtp.163.com(端口:25)

QQ邮箱:
POP3服务器地址:pop.qq.com(端口:110)
SMTP服务器地址:smtp.qq.com(端口:25)

yahoo.com:
POP3服务器地址:pop.mail.yahoo.com
SMTP服务器地址:smtp.mail.yahoo.com

gmail(google.com)
POP3服务器地址:pop.gmail.com(SSL启用端口:995)
SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587)

3.工具类

namespace common\utils;
use Yii;class Tool {/** * 邮件发送 * @param type $to  邮件接收人多个传数组* @param type $title   邮件标题* @param type $data 邮件内容(模板的时候最好使用数组)* @param type $template 邮件模板* @return int*/static function sendMail($to, $title, $data,$template='') {$mail = !empty($template) ? Yii::$app->mailer->compose($template,['data'=>$data]) ://这里以usesign模板为例Yii::$app->mailer->compose(); //加载原始配置$mail->setTo($to); //发送目标$mail->setSubject($title); //标题/* *z这里可以添加你的附件  *$message->attach('source/file.pdf');//附件图片   内嵌图片在模板中查看$message->attachContent('Attachment content', ['fileName' => 'attach.txt', 'contentType' => 'text/plain'])//附件文本文件 */ //要发送的内容!empty($template)?$mail->setTextBody(''):$mail->setHtmlBody($data);if ($mail->send()) {return 1;} return 0;}}

4:自定义邮箱模板:

<?phpuse yii\helpers\Html;
?>
<div class="body"><div class="container"><div class="logo"><img height="20" src="xxxx">//内嵌图片</div><div class="panel-body"><p><?php echo $data['user_name'] ?>,您好!</p><p>账号:<code><?php echo $data['user_name'] ?></code></p><p>密码:<code><?php echo $data['password_original'] ?></code></p> </div></div>
</div>

5.短信通知:

5-1:
1.先去阿里云注册:

访问阿里云 官方网站,单击页面上的 免费注册 按钮。
按照屏幕提示完成注册流程并进行实名认证,短信服务只支持实名认证用户使用。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里。
步骤 2 获取阿里云访问密钥
为了使用短信发送API-PHP SDK,您必须申请阿里云的访问密钥。

阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全验证。

该访问秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。每个阿里云用户可以创建多对访问秘钥,且可随时启用(Active)、禁用(Inactive)或者删除已经生成的访问秘钥对。

您可以通过阿里云控制台的 秘钥管理页面 创建、管理所有的访问秘钥对,且保证它处于“启用”状态。由于访问秘钥是阿里云对 API 请求进行安全验证的关键因子,请妥善保管你的访问秘钥。如果某些秘钥对出现泄漏风险,建议及时删除该秘钥对并生成新的替代秘钥对。
重点:
为了成功发送一条短信通知,您至少需要完成以下步骤

一、在控制台完成短信签名与短信模板的申请,获得调用接口必备的参数
在“短信签名”页面完成签名的申请,获得短信签名的字符串签名申请手册
在“短信模板”页面完成模板的申请,获得模板ID。模板申请手册

配置请看阿里云手册 ,下载demo :
https://help.aliyun.com/document_detail/55451.html?spm=5176.11065259.1996646101.searchclickresult.515119bbVdZj1U&aly_as=JoXJ__qh

把demo下载好了解压放在项目中,我这里是放到了 common/utils/ 下面。

<?php//阿里云
ini_set("display_errors", "on");
require_once 'aliyun-dysms-php-sdk/api_sdk/vendor/autoload.php';
use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
use Aliyun\Api\Sms\Request\V20170525\SendBatchSmsRequest;
use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest;
// 加载区域结点配置
Config::load();
class SmsDemo
{ /*** 注册账号发送通知模板* @return stdClass*/public static function sendMsgOnRegister($phoneNumber,$name,$username,$password) {// 初始化SendSmsRequest实例用于设置发送短信的参数$request = new SendSmsRequest();// 必填,设置短信接收号码$request->setPhoneNumbers($phoneNumber);// 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign$request->setSignName("xxxx");// 必填,设置模板CODE,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template$request->setTemplateCode("yyyy");// 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项$request->setTemplateParam(json_encode(array(  // 短信模板中字段的值"name"=>$name,"username"=>$username,"password"=>$password,), JSON_UNESCAPED_UNICODE));// 可选,设置流水号$request->setOutId("55566");// 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)//$request->setSmsUpExtendCode("234567");// 发起访问请求$acsResponse = static::getAcsClient()->getAcsResponse($request);return $acsResponse;}/*** 批量发送短信* 这里我会持续更新   需要这个功能的话可以看官网 也可以联系我Q1694084708*/
}

感觉博主写的不错,请小伙伴们转载和分享点赞哟!

用户注册邮箱通知和短信通知详解(php)相关推荐

  1. 如何获取QQ邮箱授权码——步骤详解

    获取QQ邮箱授权码步骤详解 1.打开QQ邮箱,进入邮箱账户设置界面 下滑当前界面,显示到邮箱服务区域,选择自己需要开启的协议服务 或点击下方提示中的生成授权码 点击开启,显示验证密保弹窗,根据提示进行 ...

  2. 个人邮箱哪个好,163个人邮箱注册申请流程详解!

    个人邮箱哪个好,TOM的163个人邮箱注册申请流程详解.163邮箱是一个具有历史性的邮箱,也是大众很喜爱的品牌.通常被域名办公必备的神器,最近,小编看到163vip.Com邮箱正式登陆,这是即163. ...

  3. linux at 邮箱,linux at 命令详解

    linux at 命令详解 使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME 说明 : at 可以让使用者指定在 TIME 这个特定时刻执行某个程序或指令 ...

  4. 邮箱学堂:SPF详解

    [中国邮箱网 电子邮件频道] 1月18日,什么是SPF?关于SPF的一些基础知识有哪些?SPF有哪些需求?什么是SPF的TXT记录?本文的微软Exchange专家围绕SPF做了非常详细的介绍与分析. ...

  5. UCOSII中消息邮箱的使用方法详解

    UCOSII中到底如何使用邮箱来进行任务间通信? 前言:什么是行为同步,什么是资源同步? 行为同步: 资源同步: 1.在中断服务程序中(ISR)可不可以发送消息? 在ISR中,是可以发送消息的.类似的 ...

  6. java邮箱正则表达式_Java正则表达式详解

    亲爱的小伙伴们,本期我们讲解java中的正则表达式和它相关的一些类与方法. 概述 正则表达式非常强大,能够解决我们开发时用于匹配一些特定的要求.并且java中还提供了相当强大的方法,扩展其功能性.下面 ...

  7. 怎么申请企业电子邮箱?TOM企业邮箱注册电子邮件流程详解

    电子邮箱渐渐成为生活中发送办公信息不可缺少的工具,有20年经验的TOM邮箱就是一个不错的选择,有的小伙伴还不太清楚注册的流程,其实方法很简单. 企业电子邮箱怎么申请注册 首先我们要去浏览器中搜索&qu ...

  8. java 发送客服消息,Java调用微信客服消息实现发货通知的方法详解

    本文实例讲述了java调用微信客服消息实现发货通知的方法.分享给大家供大家参考,具体如下: 个人说明:这是一个样例,微信客户消息有很多种,我现在用的是公众号发送消息.样子如下图. 说明:下面开始代码部 ...

  9. 识破“钓鱼”伪装 邮箱防骗策略详解

    作者 作者|Feei(止介):蚂蚁金服负责安全架构工作,任高级安全专家,原美丽联合集团信息安全总监, Cobra作者,擅长解决方案产品化和项目管理,同时也是一名安全工程师,专注于自动化安全发现与防御, ...

最新文章

  1. Tomcat启动之异常java.lang.IllegalStateException
  2. 笔记-信息系统安全管理-计算机信息安全保护等级划分准则
  3. 机器学习和深度学习笔记(Matlab语言实现)
  4. 给妹子修电脑,会有哪些故事?
  5. Android之在ubuntu过滤日志以及ps总结
  6. php curl https 443,PHP CURL支持HTTP、HTTPS 请求亲测可用
  7. linux安装python3.6 setuptools_linux下安装Python3.6.1
  8. 【java】java getOrDefault 方法的一个坑,容易导致OOM
  9. 今天生意为什么越来越难做,到底真相是什么?
  10. Android开源库
  11. java7安装教程_JAVA JDK7安装和配置 JAVA JDK7安装配置教程
  12. spss因子分析结果解读_AMOS进行问卷分析中效度分析之验证因子分析教程 ——【杏花开生物医药统计】...
  13. 华为存储学习笔记-3
  14. 生产计划排程、车间工序排程、APS高级计划与排程
  15. 2017年全国大学生电子竞赛电源A题
  16. freebsd上运行hpool
  17. 【API接口大全】查询订单详情/物流信息/交易订单
  18. Android平台以WebView方式集成H5+SDK和支付宝登录授权插件开发思路总结
  19. SDIO读写SD卡速度有多快?
  20. awk命令详解(二)

热门文章

  1. android监听服务,服务监听打电话
  2. 卓别林论Scrum价值观:当我真正开始爱自己
  3. 利用快递100的接口做一个快递信息查询
  4. K_A13_001 基于STM32驱动霍尔开关传感器 串口与OLED0.96双显示
  5. 八大优势能否助JSF统一Web开发
  6. JSP中自定义jstl标签
  7. 亿赛通喜获 “2015年度中国软件和信息服务数据安全领域杰出企业奖”
  8. 为什么读mba,读mba有用吗?
  9. Metaverse 元宇宙入门-04-compute 计算与元宇宙
  10. U盘制作Ubuntu系统启动盘的官方推荐软件