如何在Cordova应用程序中打开电子邮件文件?

时间:2017-11-30 20:04:11

标签: ios cordova email cordova-plugins fileopener2

我想将电子邮件文件下载到cordova.file.cacheDirectory并在默认电子邮件应用中打开它们。我使用Cordova File Transfer Plugin进行下载,File Opener Plugin在默认应用中打开。下载部分工作正常,但File Opener插件出现以下错误:

  

错误状态:9 - 错误消息:无法处理UTI

我尝试打开的文件是MIME格式(.eml扩展名),我使用的是MIME类型message/rfc822

function openFileWithDefaultApp(fileEntry) {
    var fileUrl = fileEntry.toURL();
    cordova.plugins.fileOpener2.open(
        fileUrl,
        'message/rfc822', {
            error: function (e) {
                console.log(
                    'Error status: ' + e.status +
                    ' - Error message: ' + e.message);
            },
            success: function () {
                console.log('file opened successfully');
            }
        }
    );
}

我错过了什么?

P.S。此代码与PDF文件完美配合。简单地切换到电子邮件文件会导致此问题。我想知道是否有一个"默认应用"对于.eml文件还是我必须切换其他格式?一种可能性是将电子邮件转换为PDF,但这会丢失附件。因此,这不是优选的。

1 个答案:

答案 0 :(得分:0)

如果没有特定应用(例如Klammer或者EML Viewer'),就无法在iOS上打开.eml(请参阅https://discussions.apple.com/thread/3709613?start=0&tstart=0)。

另一种方法是将.EML转换为服务器上的.PDF,可能有OS选项(例如https://github.com/nickrussler/eml-to-pdf-converter)。