以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 发送阿里云 短信  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128874)

--  作者:zcgmxf
--  发布时间:2018/12/17 11:43:00
--  [求助] 发送阿里云 短信
各位老师,按照论坛里分享的阿里云发送短信的实例,我的账户上有可发送条数,发送时为什么显示余额不足。谢谢了!

Dim product As String = "Dysmsapi" \'无需更改,官方名称
Dim domain As String = "dysmsapi.aliyuncs.com" \'无需更改,官方名称
Dim accessId As String = "LTAIO111111111" \'更换为您的AccessKey
Dim accessSecret As String = "bFSboBefggutudgggg" \'更换为您的AccessSecret
Dim regionIdForPop As String = "cn-hangzhou" \'无需更改,官方名称

Dim profile As Aliyun.Acs.Core.Profile.IClientProfile = Aliyun.Acs.Core.Profile.DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret)
Aliyun.Acs.Core.Profile.DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain)
Dim acsClient As Aliyun.Acs.Core.IAcsClient = New Aliyun.Acs.Core.DefaultAcsClient(profile)
Dim request As Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsRequest = New Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsRequest()
Dim response As Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsResponse = Nothing

Try
    request.Ph
    request.SignName = "中国湖南" \'更换为您备案的短信签名
    request.TemplateCode = "SMS_1234566789" \'更换您备案的短信模板
    request.TemplateParam = "{""name"":""张三"",""content"":""三""}"  \'如果您有可替换的标签,可以设置设置json,也可以注释掉
    \'request.OutId = "YourID" \'这玩意暂时没用
    response = acsClient.GetAcsResponse(request)
    MessageBox.show(response.Message) \'这里输出发送结果."OK"就是行了.
Catch ex As Exception
    MessageBox.show("短信代码有问题,请联系技术员")
End Try
[此贴子已经被作者于2018/12/17 11:44:25编辑过]

--  作者:有点甜
--  发布时间:2018/12/17 11:53:00
--  

1、你购买的是第三方的短信接口吧?如果是,看看

 

如果你真的只是发验证码类短信,不是发广告短信,那你用下面的方法

 

https://market.aliyun.com/products/56928004/cmapi027240.html?spm=5176.730005.productlist.d_cmapi027240.xy5oIm#sku=yuncode2124000000

 

参考帮助文档:http://www.foxtable.com/mobilehelp/index.htm?page=0246.htm

 

只需要买了以后,改掉AppCode就搞定了,超级简单啊

 

Dim hc As New HttpClient("http://feginesms.market.alicloudapi.com/codeNotice?param=123456&phone=17703940712&sign=1&skin=1")
hc.Headers.Add("Authorization","APPCODE " & "xxx请改自己xxx")
Dim jo As JObject = Jobject.Parse(hc.GetData)
Output.Show(jo.ToString)

 

2、如果是阿里云自己的短信接口,看看

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=119481&skin=0

 


--  作者:zcgmxf
--  发布时间:2018/12/17 12:25:00
--  
老师,在阿里云发验证码没问题。就是发送通知短信时提示余额不足。

就是用的那个例子做的。

[此贴子已经被作者于2018/12/17 12:28:28编辑过]

--  作者:有点甜
--  发布时间:2018/12/17 15:02:00
--  

你用2楼的第一个方法还是第二个方法做的?两个是分别独立的东西的,不能串用的。

 

你看的【余额】在哪里看的?你用1楼的代码成功发送过短信或者验证码吗?


--  作者:zcgmxf
--  发布时间:2018/12/18 8:21:00
--  
老师,用2楼的代码发送验证码没问题,但是用1楼的代码发送通知短信就弹出提示   账户余额不足,明明有5000条可用。
[此贴子已经被作者于2018/12/18 8:21:51编辑过]

--  作者:有点甜
--  发布时间:2018/12/18 8:39:00
--  

认认真真看

 

你用2楼的第一个方法还是第二个方法做的?两个是分别独立的东西的,不能串用的。

 

你购买的应该是第三方的短信接口,和阿里云内置的服务是不同的。不能一起用的。


--  作者:zcgmxf
--  发布时间:2018/12/18 12:34:00
--  
老师,发送通知短信,按照例子我把签名、模板、模板参数都设置好了,不设置好会有提示。但最后就是弹出账号余额不足。是不是用下面的代码发送通知短信要另外缴费?

Dim product As String = "Dysmsapi" \'无需更改,官方名称
Dim domain As String = "dysmsapi.aliyuncs.com" \'无需更改,官方名称
Dim accessId As String = "xxx" \'更换为您的AccessKey
Dim accessSecret As String = "xxx" \'更换为您的AccessSecret
Dim regionIdForPop As String = "cn-hangzhou" \'无需更改,官方名称


Dim profile As Aliyun.Acs.Core.Profile.IClientProfile = Aliyun.Acs.Core.Profile.DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret)

Aliyun.Acs.Core.Profile.DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain)

Dim acsClient As Aliyun.Acs.Core.IAcsClient = New Aliyun.Acs.Core.DefaultAcsClient(profile)

Dim request As Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsRequest = New Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsRequest()

Dim response As Aliyun.Acs.Dysmsapi.Model.V20170525.SendSmsResponse = Nothing


Try
    request.PhoneNumbers = "13827126079"
    request.SignName = "迈宝伦科技" \'更换为您备案的短信签名
    request.TemplateCode = "SNS_1234343245" \'更换您备案的短信模板
    request.TemplateParam = "{""customer"":""123""}"  \'如果您有可替换的标签,可以设置设置json,也可以注释掉
    \'request.OutId = "YourID" \'这玩意暂时没用
    response = acsClient.GetAcsResponse(request)
    MessageBox.show(response.Message) \'这里输出发送结果."OK"就是行了.
Catch ex As Exception
    MessageBox.show("短信代码有问题,请联系技术员")
End Try


发送验证码(成功)

Dim hc As New HttpClient("http://feginesms.market.alicloudapi.com/codeNotice?param=123456&phone=17703940712&sign=1&skin=1")
hc.Headers.Add("Authorization","APPCODE " & "xxx请改自己xxx")
Dim jo As JObject = Jobject.Parse(hc.GetData)
Output.Show(jo.ToString)



--  作者:有点甜
--  发布时间:2018/12/18 12:50:00
--  

要说多少次?

 

你用2楼的第一个方法还是第二个方法做的?两个是分别独立的东西的,不能串用的

 

你购买的应该是第三方的短信接口,和阿里云内置的服务是不同的。不能一起用的。

 

也就是说,你要另外充值购买啊。


--  作者:zcgmxf
--  发布时间:2018/12/18 23:36:00
--  
老师,现在是能发送了,但每发送一条就会弹出一个 OK 提示框 ,如何取消,自动发送完毕。谢谢!
--  作者:有点甜
--  发布时间:2018/12/19 9:42:00
--  
以下是引用zcgmxf在2018/12/18 23:36:00的发言:
老师,现在是能发送了,但每发送一条就会弹出一个 OK 提示框 ,如何取消,自动发送完毕。谢谢!

 

把MessageBox.show的代码删除。