现在在做一个发短信的平台,这两天发布后也一直在测试阶段,今天突然短信无法发送,上午一直是好的,一开始怀疑是短信服务那块出问题了,但是直接在main方法里发短信是可以的,对了,先说一下发短信这个流程。
首先用户建立自己的群组联系人,发短信的时候可以导入联系人,也可以手动输入联系人,用户点击发送时数据通过服务器存入数据库,后台再定时查询数据库中状态为未发送的短信,一条条遍历发送。
问题就出在用户手动输入这里,当我在程序那块找不到错误时,就直接在数据库查看了一下未发送的记录,终于看到了问题,有一个记录是有用户姓名,但是手机号是空的,我在前台验证手机号的时候会把所有非数字替换为空,所以前台没有检验出这个错误,后台也没有判断手机号是否存在,所以导致这条短信无法发送,后面的短信也就被阻止了。
以后开发一定要注意验证,开发程序时尽量不要让用户手动输入一些重要信息,用导入的方式比较好,在导入的格式限制好。