如何开发生日祝福短信自动发送的功能?

ptperson 2019-06-13 08:43:48
想开发一个生日祝福短信自动发送的功能,不知道如何实现,请大神们赐教,谢谢!
...全文
3928 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangqx86662638 2020-11-24
  • 打赏
  • 举报
回复
以前我腾讯云短信的经验,500元1万条限时用完,每月送100条。 有教程 下面的类是我自己参考网上弄的能用 你看看 就行。 class SmsSender { int sdkappid; string appkey; string url = "https://yun.tim.qq.com/v3/tlssmssvr/sendsms"; /// 获取时间戳 13位 /// </summary> /// <returns></returns> public static long GetTimeStamp() { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); return Convert.ToInt64(ts.TotalSeconds * 1000); } public SmsSender(int sdkappid, string appkey) { this.sdkappid = sdkappid; this.appkey = appkey; } public string sendMsg(string nationCode, string phoneNumber, JArray j, int c) { /* * { "ext": "", "extend": "", "params": [ "验证码", "1234", "4" ], "sig": "ecab4881ee80ad3d76bb1da6838752eb885e52621a3129dcf4d9bc4fd4", "sign": "腾讯云", "tel": { "mobile": "13788888888", "nationcode": "86" }, "time": 1457336869, "tpl_id": 19 } * */ JObject data = new JObject(); JObject tel = new JObject(); tel.Add("nationcode", nationCode); tel.Add("phone", phoneNumber); // data.Add("msg", content); string sig = stringMD5(appkey + phoneNumber); data.Add("ext", ""); // 默认为单发 data.Add("extend", ""); data.Add("params", j); // List<String> places = Arrays. asList(pnum, "5");//随机生成6位数,间隔5分钟 data.Add("sig", sig); data.Add("sign", "生日祝福"); // 根据需要添加,一般保持默认 data.Add("tel", tel); // 根据需要添加,一般保持默认 data.Add("time", GetTimeStamp()); data.Add("tpl_id", c); string msgString = JsonConvert.SerializeObject(data); // Console.WriteLine(msgString); try { // 发送 POST 请求 Random rnd = new Random(); int random = rnd.Next(1000000) % (900000) + 1000000; string wholeUrl = url + "?sdkappid=" + sdkappid + "&random=" + random; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(wholeUrl); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; byte[] requestData = Encoding.UTF8.GetBytes(msgString); request.ContentLength = requestData.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(requestData, 0, requestData.Length); requestStream.Close(); // 接收返回包 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8")); string retString = streamReader.ReadToEnd(); streamReader.Close(); responseStream.Close(); return retString; // Console.WriteLine(retString); // Console.ReadLine(); } catch (Exception e) { // Console.WriteLine(e.ToString()); return e.ToString(); } } private static string stringMD5(string input) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] targetData = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(input)); return byteToHexStr(targetData); } // 将二进制的数值转换为 16 进制字符串,如 "abc" => "616263" private static string byteToHexStr(byte[] input) { string returnStr = ""; if (input != null) { for (int i = 0; i < input.Length; i++) { returnStr += input[i].ToString("x2"); } } return returnStr; } } //----------使用的话就这样 SmsSender sende = new SmsSender(1400132765, "777430d0ddb856709d974afc");//固定 string _s = sende.sendMsg("86", _phone, j, cj3); 这是 分析返回信息的 public string sendtext( string _s,string scode,ref bool _t) { //{"result":"1016","errmsg":"\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF","ext":""} //{"result":"0","errmsg":"OK","ext":"","sid":"8:ZsXRf0XMQTplOtqVS1v201","count":1,"fee":1} try { _s = _s.Replace('{', ' '); _s = _s.Replace('}', ' '); _s = _s.Replace('\"', ' '); string[] _tmp = _s.Split(','); string[] _tmp1 = _tmp[0].Split(':'); _s = _tmp[0]; if (_tmp1[1].Trim() == "0") //成功 { _t = true; return "户号:" + scode + "发送成功" + "\r\n"; } else { _t = false; return "户号:" + scode + "发送失败 ,失败代码" + _tmp1[1] + "\r\n"; } } catch { _t = false; return "户号:" + scode + "意外的原因导致发送失败 。" + "\r\n"; } }
云信通 2020-11-23
  • 打赏
  • 举报
回复
生日提醒短信祝福自动发送的平台有现成成熟产品。软件免费使用,只收取短信费具体可以看下这个 http://qxtsms.com/html/yejie/570.html
Tiny~ 2019-06-22
  • 打赏
  • 举报
回复
我是菜鸟,但是觉得这个应该不难,首先要录入客户的生日、手机号码 每次登录软件,开一个线程进行查询,筛选出来所有客户,调用一个写好的发送短信的类,按统一的模板发送短信即可 短信网关公司一般都会提供接口的,充值即可
  • 打赏
  • 举报
回复
Job框架+短信供应商 这里有亿美短信接入的代码 Job框架可以搞 quartz.net,也可以通过封装的dll更精确地在指定时间触发
耗子哭死猫 2019-06-13
  • 打赏
  • 举报
回复
发短信都是收费的,http://www.ihuyi.com/demo/sms/aspx.html?s=baidu&m=ppc&k=9039877 你可以在这里注册测试一下
ManBOyyy 2019-06-13
  • 打赏
  • 举报
回复
先把人員的基本信息錄入數據庫,然後再去買一個短信接口,然後在代碼判斷,到了那個月日就發短信
  • 打赏
  • 举报
回复
不用那么麻烦,写个死循环,不断地获取当前时间,比如说你要九点钟发信息,就等到九点获取当前的月和日,跟你存储的人的生日是否有匹配的,有就发喽,然后搞个键值对存今天有没有发过消息,个人感觉不需要什么数据库,生日以及电话号码存在配置文件里就OK了,创建一个windows服务,让它一直执行下去喽,如果你要增加或者减少发信息的人,修改配置,重启服务就OK 了
syf1125 2019-06-13
  • 打赏
  • 举报
回复
首先需要联系一个短信运营商,找他要接口,然后通过定时器实现,每天0点把当天过生日的人从数据库里找出来,然后调用短信接口

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧