2017-11-11 256 views
1

您好即時通訊錯誤,我的代碼設置如下:如何找到使用科爾多瓦插件科爾多瓦,插件,SMTP客戶端上的科爾多瓦 - 插件 - 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); 

但我的問題是IM越來越總是錯誤(無效動作),如果任何一個能幫助我們怎樣才能獲得真正的錯誤,所以我可以提前

+0

你運行該應用程序在Android 6(或更高版本)的設備上? –

+0

@AM是的我試圖在android 7.1上運行時也遇到同樣的問題。這與權限有關嗎? –

回答

0

我也面臨着同樣的問題,解決這個問題

感謝。我發現問題是當試圖發送emailTo字段中的多個郵件時。如果您發送到一個電子郵件ID,它會成功發送電子郵件。 在SMTPClient.java你需要換線41號以下:

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

這將修復多個電子郵件地址的問題。

0

我有同樣的問題。它與權限有關,在設備上有Android 6(或高於)。

我解決了使用Cordova Diagnostic Plugin,在onDeviceReady功能把下面的代碼:

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();