如何在Cordova插件smtp客户端Meteor移动应用程序上找到错误



Hello im使用cordova插件cordova plugin smtp客户端,我的代码设置如下:

var mailSettings = {
emailFrom: "",
emailTo: "",
smtp: "",
smtpUserName: "",
smtpPassword: "",
port: 25,
subject: “subject here”,
textBody: “body here”,
attachmentsInBase64Format: [],
};
var success = function(message) {
window.plugins.spinnerDialog.hide();
alert("Orden Enviada Satisfactoriamente");
}
var failure = function(message) {
window.plugins.spinnerDialog.hide();
console.log(message);
}
smtpClient.sendMail(mailSettings, success, failure);

但我的问题是我总是得到错误(无效操作),如果有人能帮助我们如何得到真正的错误,这样我就可以修复问题

提前感谢

我也面临同样的问题。我发现问题出在试图发送多封电子邮件时,地址在emailTo字段中。如果你发送到一个单一的电子邮件id,它将成功发送电子邮件。在SMTPClient.java中,您需要将第41行更改为以下内容:

String[] toArr = json.getString("emailTo").split(",");

这将解决多个电子邮件地址的问题。

我也遇到了同样的问题。它与权限有关,在Android 6(或更高版本)的设备中。

我使用Cordova诊断插件解决了问题,在DeviceReady功能中放入以下代码:

checkPermission = function () {
setMyPermission = function () {
cordova.plugins.diagnostic.requestExternalStorageAuthorization(function (status) {
switch (status) {
case cordova.plugins.diagnostic.permissionStatus.NOT_REQUESTED:
break;
case cordova.plugins.diagnostic.permissionStatus.DENIED:
break;
case cordova.plugins.diagnostic.permissionStatus.GRANTED:
break;
case cordova.plugins.diagnostic.permissionStatus.GRANTED_WHEN_IN_USE:
break;
}
}, function (error) {
alert(error);
});
};
cordova.plugins.diagnostic.getPermissionAuthorizationStatus(function (status) {
switch (status) {
case cordova.plugins.diagnostic.runtimePermissionStatus.GRANTED:
break;
case cordova.plugins.diagnostic.runtimePermissionStatus.NOT_REQUESTED:
setMyPermission();
break;
case cordova.plugins.diagnostic.runtimePermissionStatus.DENIED:
setMyPermission();
break;
case cordova.plugins.diagnostic.runtimePermissionStatus.DENIED_ALWAYS:
setMyPermission();
break;
}
}, function (error) {alert(error); }, cordova.plugins.diagnostic.runtimePermission.READ_EXTERNAL_STORAGE);
};
checkPermission();

相关内容

最新更新