本帖最后由 clg-123 于 2019-3-2 11:34 编辑
找了几天找到的这款邮件发送插件,原始下载:cordova-plugin-smtp-client,非常好用,分享给大家。用这个插件可以很方便就能实现邮件验证功能,我使用QQ邮箱发送验证码邮件测试成功,使用126邮箱测试不成功,可能是有邮箱的服务开启不正确吧,大家可以测试看看。这里给大家分享一下我的发送调用代码,很简单,至于检验验证码部分就更简单了,所以这里就不说了。具体代码如下:
define(function(require){
require("cordova!cordova-plugin-smtp-client");//邮件发送接口引用
var mailCode=''; //存放当前发送的邮箱验证码
/**
* 创建指定长度的验证码
*@param {number}codeLength 要创建的验证码长度(默认4位)
*@param {boolean}isLetter 包含英文字母(默认不包含)
*/
Model.prototype.createCode=function (codeLength,isLetter){/* 生成验证码的函数 */
var VerifyCode='';/*定义一个验证码的全局变量*/
if(typeof codeLength!=='number')
codeLength=4;
else if(codeLength<4)
codeLength=4;
if(typeof isLetter!=='boolean')
isLetter=false;
var selectChar;
if(isLetter)
selectChar=new Array(0,1,2,3,4,5,6,7,8,9,
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
else
selectChar=new Array(0,1,2,3,4,5,6,7,8,9);
var size=selectChar.length;
for(var i=0;i<codeLength;i++){
var charIndex=Math.floor(Math.random()*size);
VerifyCode += selectChar[charIndex];
}
return VerifyCode;
};
Model.prototype.sendMail=function (){
mailCode=this.createCode(4,false);//创建邮件验证码,并保存到全局变量
var Body="您的Smatlamp验证码为:<br><strong>"+mailCode+"</strong> "+
"<br>如果您并未请求此验证码,则可能是他人正在尝试访问以下帐号:<br>"+ emailTo +"。"+
"<br><strong>请勿将此验证码转发给或提供给任何人。</strong>";
var mailSettings = {
emailFrom: "你用来发送邮件的邮箱地址",//发送的源邮箱
emailTo: "邮件接收方的邮箱地址",//发送的目标邮箱
smtp: "smtp.qq.com",//你用来发送邮件的邮箱使用的服务器地址,服务器类型必须是SMTP类型服务器,否则发送失败
smtpUserName: "登陆邮箱的账号",//源发件人账号。如:QQ号
smtpPassword: "客户端授权码",//源发件人邮件客户端授权码,需要开启POP3/SMTP服务才会有授权嘛,相当于邮箱登陆密码。
attachments: ["attchament1","attchament2"], //附件
subject: "邮件验证码",//电子邮件主题
textBody: Body //邮件正文
};
window.smtpClient.sendMail(mailSettings, success, failure);//调用sendMail方法发送邮件
function success (message) {
alert("邮件发送成功");
}
function failure (message) {
alert("邮件发送失败");
}
};
});
插件包:
cordova-plugin-smtp-client.zip
(519.24 KB, 下载次数: 122)
|