- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章阿里云PHP SMS短信服务验证码发送方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
开通sms服务 。
首先去这个网站开通阿里云的sms短信服务:https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vu5t5g 。
创建签名、模板 。
要使用短信服务器需要先创建签名和模板,并提交给阿里云审核通过才可以正常使用短信服务.
创建签名 。
创建签名的时候注意一下签名名称,其他的话就不累赘了.
记住签名名称 。
现在请记住你创建的签名名称,一会在代码中需要使用.
创建模板 。
创建模板也很简单,阿里云已经把要如何填写写的很清楚了.
查看并记住模板code 。
返回你的控制台,当你的模板审核通过时这就会出现大于0的数.
点击这个数,会进入模板管理面板就能看到你的模板code了,请记住他.
创建并记住keyid和keysecret 。
到控制台,把鼠标放到右上角你的用户名的位置会出现一个accesskeysecret点进去就可以创建keyid和keysecret了,如果他提醒你用ram安全什么的,你看你要不要给你的员工分配权限,如果要的话就用ram,否则就直接点击继续使用就行了.
下载阿里云短信服务器php-sdk 。
官方下载地址:https://help.aliyun.com/document_detail/55359.html?spm=5176.8195934.507901.12.b1nggk 本教程使用sdk下载地址:http://pan.baidu.com/s/1bpf5b8z 。
密匙:pult 。
创建php-sms项目 。
创建代码文件 。
创建你的代码文件,并把这个文件放在刚才下载的sdk文件夹中的api_sdk的aliyun-php-sdk-core目录下,并把一下代码写入代码文件.
aliyun-php-sdk-core目录里包含了sms短信服务的各种模块,所以必须得放在这里面才能使用服务 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php
include
'config.php'
;
include_once
'request/v20170525/sendsmsrequest.php'
;
include_once
'request/v20170525/querysenddetailsrequest.php'
;
$accesskeyid
=
"ltaivaans61jebin"
;
//阿里云keyid
$accesskeysecret
=
"y3h7duryj6giqmjjrsdbjwpi6e8o8m"
;
//阿里云keysecret
//短信api产品名
$product
=
"dysmsapi"
;
//照写就行了
//短信api产品域名
$domain
=
"dysmsapi.aliyuncs.com"
;
//照着写就行了
//暂时不支持多region
$region
=
"cn-hangzhou"
;
//照着写就行了
//初始化访问的acscleint
$profile
= defaultprofile::getprofile(
$region
,
$accesskeyid
,
$accesskeysecret
);
defaultprofile::addendpoint(
"cn-hangzhou"
,
"cn-hangzhou"
,
$product
,
$domain
);
$acsclient
=
new
defaultacsclient(
$profile
);
$request
=
new
sendsmsrequest;
//必填-短信接收号码。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
$request
->setphonenumbers(
"123456789"
);
//这里填你要发送的电话号码
//必填-短信签名
$request
->setsignname(
"xx项目"
);
//这里就是刚才让你记住的项目签名
//必填-短信模板code
$request
->settemplatecode(
"sms_123456"
);
//这里就是模板code
//选填-假如模板中存在变量需要替换则为必填(json格式)
$request
->settemplateparam(
"{\"name\":\"郭涛\",\"number\":\"316\"}"
);
//选填-发送短信流水号
$request
->setoutid(
"1234"
);
//照填就行了
//发起访问请求
$acsresponse
=
$acsclient
->getacsresponse(
$request
);
var_dump(
$acsresponse
);
//返回结果
|
移入requset 。
还是在下载的sdk文件夹中的api_sdk目录下,有一个交dysmsapi的文件夹,打开这个文件夹就会看到一个叫request的文件夹,把这个reques。的件夹复制粘贴到aliyun-php-sdk-core里面。说实在的我搞不清阿里云这个为什么要这样分开装sdk,可能是我使用的姿势不对吧,如果有大神搞得清,还劳烦赐教小弟,好人一生平安。 移入后,打开request\v20170525目录里有一个sendsmsrequest.php的源文件。请屏蔽第一行的空间命名。 也就是这一行namespace dysmsapi\reqest\v20170525;最后效果如下 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
<?php
/*
* licensed to the apache software foundation (asf) under one
* or more contributor license agreements. see the notice file
* distributed with this work for additional information
* regarding copyright ownership. the asf licenses this file
* to you under the apache license, version 2.0 (the
* "license"); you may not use this file except in compliance
* with the license. you may obtain a copy of the license at
*
* http://www.apache.org/licenses/license-2.0
*
* unless required by applicable law or agreed to in writing,
* software distributed under the license is distributed on an
* "as is" basis, without warranties or conditions of any
* kind, either express or implied. see the license for the
* specific language governing permissions and limitations
* under the license.
*/
//namespace dysmsapi\request\v20170525;//就是屏蔽这一行代码!!!!
class
sendsmsrequest
extends
\rpcacsrequest
{
function
__construct()
{
parent::__construct(
"dysmsapi"
,
"2017-05-25"
,
"sendsms"
);
}
private
$outid
;
private
$signname
;
private
$ownerid
;
private
$resourceownerid
;
private
$templatecode
;
private
$phonenumbers
;
private
$resourceowneraccount
;
private
$templateparam
;
public
function
getoutid() {
return
$this
->outid;
}
public
function
setoutid(
$outid
) {
$this
->outid =
$outid
;
$this
->queryparameters[
"outid"
]=
$outid
;
}
public
function
getsignname() {
return
$this
->signname;
}
public
function
setsignname(
$signname
) {
$this
->signname =
$signname
;
$this
->queryparameters[
"signname"
]=
$signname
;
}
public
function
getownerid() {
return
$this
->ownerid;
}
public
function
setownerid(
$ownerid
) {
$this
->ownerid =
$ownerid
;
$this
->queryparameters[
"ownerid"
]=
$ownerid
;
}
public
function
getresourceownerid() {
return
$this
->resourceownerid;
}
public
function
setresourceownerid(
$resourceownerid
) {
$this
->resourceownerid =
$resourceownerid
;
$this
->queryparameters[
"resourceownerid"
]=
$resourceownerid
;
}
public
function
gettemplatecode() {
return
$this
->templatecode;
}
public
function
settemplatecode(
$templatecode
) {
$this
->templatecode =
$templatecode
;
$this
->queryparameters[
"templatecode"
]=
$templatecode
;
}
public
function
getphonenumbers() {
return
$this
->phonenumbers;
}
public
function
setphonenumbers(
$phonenumbers
) {
$this
->phonenumbers =
$phonenumbers
;
$this
->queryparameters[
"phonenumbers"
]=
$phonenumbers
;
}
public
function
getresourceowneraccount() {
return
$this
->resourceowneraccount;
}
public
function
setresourceowneraccount(
$resourceowneraccount
) {
$this
->resourceowneraccount =
$resourceowneraccount
;
$this
->queryparameters[
"resourceowneraccount"
]=
$resourceowneraccount
;
}
public
function
gettemplateparam() {
return
$this
->templateparam;
}
public
function
settemplateparam(
$templateparam
) {
$this
->templateparam =
$templateparam
;
$this
->queryparameters[
"templateparam"
]=
$templateparam
;
}
}
|
完成 。
运行试试吧 。
。
以上所述是小编给大家介绍的阿里云php sms短信服务验证码发送方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
最后此篇关于阿里云PHP SMS短信服务验证码发送方法的文章就讲到这里了,如果你想了解更多关于阿里云PHP SMS短信服务验证码发送方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是发送 SMS 的新手,我需要构建一个不需要与任何 SMS 提供商或移动运营商集成的 SMS 网关。但是,我不知道这是否可能。 有人推荐了两个他们声称能够做到这一点的库。这些库基于 SMPP。以下是
我遇到了必须做出的选择。 请告知Kannel和Jasmin SMS之间SMS平台的最佳选择是什么。谁知道任何利弊? 最佳答案 作为python程序员,我对Jasmin感到更自在。它工作得很好,对我来说
通过 Clickatell API 发送英语和西类牙语消息时,SMS 消息的最大长度是多少? 英语和西类牙语的消息长度有区别吗,因为西类牙语可能包含 Unicode 字符? 最佳答案 来自 SMS w
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
Twilio SMS 消息在英语中运行良好,但法语口音不起作用。重音字符替换为 ?符号。我该怎么办? 最佳答案 我发现将正文转换为 UTF-8 可以解决这个问题,而且价格实际上降低了一半。区别在于我需
我注意到我从公司收到的某些 SMS 消息带有“发件人姓名”。例如。就在今天,我收到了一条我以前从未使用过的号码(不是我的联系人)发来的短信,但是发件人的名字显示为“Adobe”。我也从其他公司得到这个
是否可以使用您的个人移动帐户以编程方式发送 SMS 消息? 是否有任何移动网络(位置目前不重要)允许订阅者通过网关 api 发送短信? 最佳答案 移动运营商为此目的使用短消息对等协议(protocol
我正在研究通过 API 调用同时提供 SMS 和语音邮件服务的公司。我希望能够通过短信和语音邮件联系用户(其中大多数是美国用户)。这个想法是,我们的网络服务器将连接到 SMS/语音邮件提供商的服务
我需要开发一个 Android 应用程序来接收来自特定发件人的短信,当收到短信时,应用程序必须被激活并获取短信附带的所有值,请给我答案? 最佳答案 您可以使用 BroadcastReciver 来阅读
我使用 twilio 发送短信,但在我尝试创建的消息中,它是一个很长的 url,因此不会发送 160 个字符,因此 twilio 切断了消息并且 url 不起作用。 如果我使用自动 twilio Sh
我正在处理 SMS 和 PDU,并创建串联消息以通过 GSM 调制解调器 (Cinterion MC35i) 发送,但是当我发送串联消息时,它从未出现在另一端。这是与调制解调器的通信记录: at OK
SMS 草稿的 native 内容 URI 是什么? 最佳答案 您可以通过不同的打开方式打开每个短信部分。 收件箱 = "content://sms/inbox" 失败 = "content://sm
我正在尝试使用 Twilio Java API 发送消息。使用试用帐户,我看到我的消息中添加了前缀。 可以删除/修改这个前缀“从您的 Twilio 试用帐户发送”吗? 最佳答案 Twilio 开发人员
2G 和 3G 已经在少数国家停用,其他国家也将很快停用。 LTE 模块的 VoLTE 功能对于能够通过 4G 进行调用而无需 2G/3G 回退是必需的。 native SMS 可以通过 2G/3G
我使用的是 Android 1.6。我想查询“content://sms/inbox”。如何实现? 最佳答案 无论是否是 SDK 的一部分,除了使用 content://sms/inbox 之外,我看
2G 和 3G 已经在少数国家停用,其他国家也将很快停用。 LTE 模块的 VoLTE 功能对于能够通过 4G 进行调用而无需 2G/3G 回退是必需的。 native SMS 可以通过 2G/3G
我有两个问题。 我正在为我尝试在 Twilio SMS 工具中为最终用户和管理人员编写代码的客户创建网站。我已经构建了请求和响应工具,所以我在功能上都设置好了。所以问题是: A.我可以向任何电话号码发
我正在尝试获取短信对话列表和所有短信,就像这样的结构:(这是一个对话结构)。 [ "names":[ "Antoine Duval", "Mike Tyson"
我有 20 个联系人存储在数组中,我想只检索这些联系人的短信,然后相应地处理它们? 这可能吗?我的意思是我可以编写 where 子句来存储查询中的联系人,然后检索如果可以的话如何去做? 还是应该使用
首先,我使用模拟器进行测试。我想使用消息文本(作为参数发送)打开默认 SMS 应用程序,并允许用户从那里(和内置应用程序)进行控制。我使用这段代码: Button btnSMS = (Button)
我是一名优秀的程序员,十分优秀!