java发送验证短信_Java实现发送手机验证码功能(短信+语音)

利用第三方平台可以实现发送手机短信验证码和语音验证码的功能,本文使用框架是struts2+spring+hibernate,现就action层给出核心代码功能。

public class verifyaction extends baseaction {

private static final long serialversionuid = 1l;

private commonconfigservice commonconfigservice;

private userphoneverifyservice userphoneverifyservice;

private userverifyservice userverifyservice;

private phonedetectservice phonedetectservice;

private accountservice accountservice;

// 发送短信验证码

public string senssms() {

try {

result.setresult(jsonresult.success);

if (model.gettype() == phoneverifytype.register) {

if (userverifyservice.checkregisterphone(model.getphone())) {

result.seterrormessage("该手机号已注册");

result.setresult(jsonresult.error);

return success;

}

}

if (!phonedetectservice.check(model.getphone())) {

result.seterrormessage("该手机号异常,不能进行验证操作");

result.setresult(jsonresult.error);

return success;

}

dh3tongsmsoperator dh3tongsmsoperator = new dh3tongsmsoperator(

commonconfigservice.getstring("dh3tong", "account"),

digestutil.md5(commonconfigservice.getstring("dh3tong", "password")));

string code = randomutil.randomnum(6);

if (dh3tongsmsoperator.send(uuidgenerator.generate(), model.getphone(),

string.format("尊敬的用户,您的验证码是:%s", code), "【xx系统名】")) {

userphoneverifyservice.record(model.getphone(), model.gettype(), code, model.getuserid());

} else {

result.seterrormessage("很抱歉,发送短信失败,请稍后再试");

result.setresult(jsonresult.error);

return success;

}

result.seterrormessage( "短信验证码发送成功,请在5分钟内及时使用,谢谢!");

} catch (exception e) {

e.printstacktrace();

}

return success;

}

// 发送语音验证码

public string sensvoice() {

try {

result.setresult(jsonresult.success);

if (model.gettype() == phoneverifytype.register) {

if (userverifyservice.checkregisterphone(model.getphone())) {

result.seterrormessage("该手机号已注册");

result.setresult(jsonresult.error);

return success;

}

}

if (!phonedetectservice.check(model.getphone())) {

result.seterrormessage("该手机号异常,不能进行验证操作");

result.setresult(jsonresult.error);

return success;

}

string code = randomutil.randomnum(6);

dh3tongvoiceoperator dh3tongvoiceoperator = new dh3tongvoiceoperator(

commonconfigservice.getstring("dh3tong", "account"),

digestutil.md5(commonconfigservice.getstring("dh3tong", "password")));

if (dh3tongvoiceoperator.send(uuidgenerator.generate(), request.getphone(), code)) {

userphoneverifyservice.record(request.getphone(), request.gettype(), code, request.getuserid());

} else {

result.seterrormessage("很抱歉,发送语音失败,请稍后再试");

result.setresult(jsonresult.error);

return success;

}

result.seterrormessage("语音验证码发送成功,请在5分钟内及时使用,谢谢!");

} catch (exception e) {

e.printstacktrace();

}

return success;

}

public void setcommonconfigservice(commonconfigservice commonconfigservice) {

this.commonconfigservice = commonconfigservice;

}

public void setuserphoneverifyservice(userphoneverifyservice userphoneverifyservice) {

this.userphoneverifyservice = userphoneverifyservice;

}

public void setuserverifyservice(userverifyservice userverifyservice) {

this.userverifyservice = userverifyservice;

}

public void setphonedetectservice(phonedetectservice phonedetectservice) {

this.phonedetectservice = phonedetectservice;

}

public void setaccountservice(accountservice accountservice) {

this.accountservice = accountservice;

}

}

以上是干货分享,已测试验证过!

java相关学习视频资料分享:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值