为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。
androidEmail插件封装了安卓后台发送邮件的功能,使用此插件可实现安卓设备后台通过各邮箱的SMTP服务器发送邮件。暂仅支持 android 平台。
注意事项:
1、发送邮件使用的是各邮箱的SMTP服务器;
2、对应还有SMTP服务器的SSL协议端口,不是POP3服务器;
3、发送邮件需要网络,插件中要是网络不可用,会返回错误msg;
4、发送邮件需要开通SMTP服务,对应的有SMTP服务授权码(参数必填);
SMTP服务开通步骤:
1、先账号密码登入邮箱;
2、点击页面中的“设置”,进入设置页面;
3、选择SMTP服务开通或是勾选上开通选项(对应会有授权码,新浪邮箱就是邮箱密码);
4、保存;
常用SMTP服务地址及端口:
1、qq(服务:smtp.qq.com;端口:465或587)
2、163(服务:smtp.163.com;端口:465或994)
3、新浪(服务:smtp.sina.cn;端口:465或587)
特殊说明:
在所以参数都正确的情况下,也会出现邮箱服务器连接失败的情况,主要原因是session验证错误。
就是在app打开状态下,使用过一种邮箱发送邮件再使用另一种邮箱发送,会导致session不一致(不同邮箱不一样),
发送邮件就会失败。这种情况会在错误msg中返回。
以文本格式发送邮件
sendByText({params},callback(ret, err))
fromMailServerHost:
fromMailServerPort:
fromAddress:
toAddress:
fromPassword:
toSubject:
toContent:
ret:
内部字段:
{
status: //true or false
}
err:
内部字段:
{
msg: //返回错误信息
}
var androidEmail= api.require('androidEmail');
var param = {
fromMailServerHost: 'smtp.163.com',
fromMailServerPort: '587',
fromAddress: 'xxx@163.com',
toAddress: 'xxx@qq.com',
fromPassword: 'xxx',
toSubject: '主题测试',
toContent: '文本格式正文测试'
};
androidEmail.sendByText(param, function (ret, err) {
if (ret.status) {
alert("邮件发送成功");
} else {
console.log(JSON.stringify(err));
alert(JSON.stringify("错误信息:" + err.msg));
}
});
请确保参数正确
Android系统
可提供的1.0.0及更高版本
以html格式发送邮件
sendByHtml({params},callback(ret, err))
fromMailServerHost:
fromMailServerPort:
fromAddress:
toAddress:
fromPassword:
toSubject:
toContent:
ret:
内部字段:
{
status: //true or false
}
err:
内部字段:
{
msg: //返回错误信息
}
var androidEmail= api.require('androidEmail');
var param = {
fromMailServerHost: 'smtp.163.com',
fromMailServerPort: '587',
fromAddress: 'xxx@163.com',
toAddress: 'xxx@qq.com',
fromPassword: 'xxx',
toSubject: '主题测试',
toContent: 'html格式正文测试'
};
androidEmail.sendByHtml(param, function (ret, err) {
if (ret.status) {
alert("邮件发送成功");
} else {
console.log(JSON.stringify(err));
alert(JSON.stringify("错误信息:" + err.msg));
}
});
请确保参数正确
Android系统
可提供的1.0.0及更高版本