/// <summary>
/// 发送自定义格式短信
/// </summary>
/// <param name="mobile"></param>
/// <param name="content">不为空时为自定义短信,验证码域请用{0}表示</param>
/// <param name="error"></param>
/// <returns></returns>
public bool SendCode(string mobile, string content, out string error)
{
error = "";
if (string.IsNullOrEmpty(mobile))
{
error = "发送失败,没有传入手机号";
return(false);
}
if (!mobile.IsCellPhone())
{
error = "手机号格式不正确";
return(false);
}
string chkCode = MakeRandomCode();
if (string.IsNullOrEmpty(content))
{
content = "您本次操作的验证码为 " + chkCode + ",切勿将此验证码泄露给他人,如非本人操作请忽略";
}
else
{
content = string.Format(content, chkCode);
}
double n = MobileVerifyData.GetSendTimeDiff(ModuleName);
if (n < NextSendSencond)
{
error = "发送失败,验证码距上次发送不足" + NextSendSencond + "秒,请稍后再试";
return(false);
}
int totalSend = MobileVerifyData.GetTotalSendTimes(ModuleName);
if (totalSend > 5)
{
error = "发送失败,请求超过了限制,请稍后再试";
return(false);
}
//bool a = CoreHelper.SMSMessage.Send(mobile, content, out error); //老短信接口
CurrentCode = chkCode;
bool a = SendSms(mobile, content, out error);
if (a)
{
MobileVerifyData.SetCode(ModuleName, chkCode, mobile.Trim());
string str = string.Format("时间:{0} 验证码:{1} 模块:{2} \r\n", DateTime.Now.ToString("yy-MM-dd HH:mm:ss fffff"), chkCode, ModuleName);
SmsSendRecordManage.Instance.Add(new SmsSendRecord()
{
Mobile = mobile, Code = chkCode, ModuleName = ModuleName
});
}
return(a);
}