悠逸企业短信发送服务,是一种比较简单易操作的短信发送服务,使用POST的方式,请求相应地址就可以实现短信发送功能
1 /// <summary>
/// 短信发送服务
/// </summary>
public class ShortMsgHelper
{
/// <summary>
/// 短信服务 账号
/// </summary>
private static string uid = ConfigurationManager.AppSettings["ShortMSGUid"];
/// <summary>
/// 短信服务 密码
/// </summary>
private static string pwd = ConfigurationManager.AppSettings["ShortMSGPwd"];
/// <summary>
/// 客服 手机号字符串
/// </summary>
private static string CustomerServicePhoneList = ConfigurationManager.AppSettings["CustomerServicePhoneList"];
/// <summary>
/// 短信服务 签名(短信内容后面加上 此签名 才能发送成功!形式为:【签名内容】)如果不加,则发送无效
/// </summary>
private static string ShortMSGSignature = ConfigurationManager.AppSettings["ShortMSGSignature"];
/// <summary>
/// 短信服务 开关
/// open:打开 close:关闭
/// </summary>
private static string ShortMSGSwitch = ConfigurationManager.AppSettings["ShortMSGSwitch"]; /// <summary>
/// 发送短信开放方法
/// </summary>
/// <param name="msgContent"></param>
/// <returns></returns>
public static bool Send(string msgContent,List<string> pList)
{
//依据短信服务开关
if (ShortMSGSwitch=="close")
{
return false;
}
List<string> phoneList = new List<string>();
if (pList==null||pList.Count==)
{
phoneList = CustomerServicePhoneList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
}
else
{
phoneList = pList;
} return SendMobileMsg(uid, pwd, msgContent, phoneList);
}
/// <summary>
/// 短信发送
/// </summary>
/// <param name="uid">悠逸企业短信ID</param>
/// <param name="pwd">悠逸企业短信密码</param>
/// <param name="msgContent">短信内容</param>
/// <param name="destListPhones">手机号列表</param>
/// <returns></returns>
private static bool SendMobileMsg(string uid, string pwd, string msgContent, List<string> destListPhones)
{
try
{
bool result = false;
string strPhones = string.Join(";", destListPhones.ToArray());
strPhones += ";";
var encoding = System.Text.Encoding.GetEncoding("GB2312"); string postData = string.Format("uid={0}&pwd={1}&mobile={2};&msg={3}&dtime=", uid, pwd, strPhones, msgContent + ShortMSGSignature); byte[] data = encoding.GetBytes(postData); // 定义 WebRequest
HttpWebRequest myRequest =
(HttpWebRequest)WebRequest.Create("http://www.smsadmin.cn/smsmarketing/wwwroot/api/post_send/"); myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length; Stream newStream = myRequest.GetRequestStream(); //发送数据
newStream.Write(data, , data.Length);
newStream.Close(); // 得到 Response
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
string content = reader.ReadToEnd(); if (content.Substring(, ) == "")
result = true;
else
{
if (content.Substring(, ) == "") //余额不足
{
//"手机短信余额不足";
//TODO
}
else
{
//短信发送失败的其他原因,请参看官方API
}
result = false;
} return result;
}
catch
{
return false;
} }
}

c#简单易用的短信发送服务 悠逸企业短信服务的更多相关文章

  1. [工具开发] 一信通 Web 短信发送客户端

    一.简介 为了协助公司运营部对几家短信平台进行测试,我根据各自的接口文档编写了几个简单的短信发送客户端: 下面是一信通 Web 短信发送客户端,使用 HTTP GET 方法. 二.效果图 1. 首页 ...

  2. Android短彩信源码解析-短信发送流程(三)

    3.短信pdu的压缩与封装 相关文章: ------------------------------------------------------------- 1.短信发送上层逻辑 2.短信发送f ...

  3. day80:luffy:短信sdk接入&点击获取验证码&注册功能的实现&Celery实现短信发送功能

    目录 1.短信sdk接入 2.前端点击获取验证码效果 3.注册后端接口实现 4.注册-前端 5.Celery 6.Celery完成短信发送功能 1.短信sdk接入 1.准备工作 1.下载云通讯相关的文 ...

  4. Android短彩信源码解析-短信发送流程(二)

    转载请注明出处:http://blog.csdn.net/droyon/article/details/11699935 2,短彩信发送framework逻辑 短信在SmsSingleRecipien ...

  5. 2018阿里云短信发送DEMO接入简单实例

    以下更新2018-04-2309:57:54 后续不再更新, 基本类: app/SignatureHelper.php <?php namespace aliyun_mns; /** * 签名助 ...

  6. 一个简单易上手的短信服务Spring Boot Starter

    前言 短信服务在用户注册.登录.找回密码等相关操作中,可以让用户使用更加便捷,越来越多的公司都采用短信验证的方式让用户进行操作,从而提高用户的实用性. Spring Boot Starter 由于 S ...

  7. 【SSH网上商城项目实战26】完成订单支付后的短信发送功能

     转自: https://blog.csdn.net/eson_15/article/details/51475431 上一节我们使用了Java mail完成了给买家发送邮件的功能,还遗留一个功能,就 ...

  8. C#利用Web Service实现短信发送(转)

    通过编程方式实现短信息的发送对很多人来说是一件比较烦杂的事情,目前一般的解决方法是通过计算机和手机的连线,通过可对手机编程的语言编写相关的手机短信息程序来实现,而这种方法对于一般人来说是很难达到的,因 ...

  9. C# 编写短信发送Window服务

    我们做项目过程中,一般都会有发送短信的需求.最常见的就是户注册或者登录时发送短信验证码.不同类型的短信发送,我们都可以放到到一张短信表中,然后通过一个定时的作业去执行短信发送.而定时作业的执行,我们就 ...

随机推荐

  1. java-并发之高性能对象

    Hadoop之RPC          Hadoop的RPC主要是通过Java的动态代理(Dynamic Proxy)与反射(Reflect)实现,代理类是由java.lang.reflect.Pro ...

  2. Google论文之三----MapReduce

    Google论文之三----MapReduce MapReduce:大型集群上的简单数据处理 摘要 MapReduce是一个设计模型,也是一个处理和产生海量数据的一个相关实现.用户指定一个用于处理一个 ...

  3. T-SQL 临时表、表变量、UNION

    T-SQL 临时表.表变量.UNION 这次看一下临时表,表变量和Union命令方面是否可以被优化呢? 阅读导航 一.临时表和表变量 二.本次的另一个重头戏UNION 命令 一.临时表和表变量 很多数 ...

  4. C#操作AD及Exchange Server总结

    C#操作AD及Exchange Server总结 这篇博客的目的:根据亲身项目经历,总结对AD及Exchange Server的操作,包括新建AD用户,设置密码,为AD用户创建邮箱等. 本文完全原创, ...

  5. service structure flowchart [mobile to server via HTTP RESTful API]

    Modern flowchart for mobile, server, and etc.. communication This has something to do with these sou ...

  6. 图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现

    上篇文章主要介绍了Ford-Fulkerson方法的理论基础,本篇给出一种Java的实现. 先借助伪代码熟悉下流程 FORD-FULKERSON(G,t,s) 1 for each edge(u,v) ...

  7. 关于国产跨平台的开源游戏引擎LGame

    声明:   本博客文章原创类别的均为个人原创,版权所有.转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com. ...

  8. Android Phone和Pad UA区别

    很多Android开发者或者网站端都可能会困扰关于如何区分Android phone和Android Pad的ua.确实这个问题很困难,我也曾被困扰了一段时间,后来在Stackoverflow中发现了 ...

  9. 微信小程序开源项目库汇总

    最近做了一个微信小程序开源项目库汇总,里面集合了OpenDigg 上的优质的微信小程序开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. UI组件 ...

  10. Linux笔记(二) - 权限管理

    (1)改变文件或目录权限:chmod{ugoa}{+-=}{rwx}{mode=421}-R 递归修改可以同时更改多个 chmod g+w a.txt b.txt c.txt例:chmod g=rwx ...