nativescript-email
eddyverbruggen | v1.6.0
为您的 NativeScript 应用提供的电子邮件插件
npm i --save nativescript-email

NativeScript Email

NPM version Downloads Twitter Follow

您可以使用此插件来编写电子邮件、手动编辑用户草稿并发送。

请注意,此插件依赖于默认的邮件应用程序。如果您想回退到第三方客户端应用程序(如 Gmail 或 Outlook),请检查是否可用。如果不可用,请使用类似 Social Share 插件 的解决方案。

安装

从您项目的根目录运行此命令

tns plugin add nativescript-email

API

要使用此插件,您必须首先 require/import 它

TypeScript

import * as email from "nativescript-email";
// or
import { compose } from "nativescript-email";
// or even
import { compose as composeEmail } from "nativescript-email";

JavaScript

var email = require("nativescript-email");

可用

TypeScript

  email.available().then((avail: boolean) => {
console.log("Email available? " + avail);
})

JavaScript

  email.available().then(function(avail) {
console.log("Email available? " + avail);
})

编写

JavaScript

  // let's first create a File object using the tns file module
var fs = require("file-system");
var appPath = fs.knownFolders.currentApp().path;
var logoPath = appPath + "/res/telerik-logo.png";

email.compose({
subject: "Yo",
body: "Hello <strong>dude</strong> :)",
to: ['[email protected]', '[email protected]'],
cc: ['[email protected]'],
bcc: ['[email protected]', '[email protected]'],
attachments: [
{
fileName: 'arrow1.png',
path: 'base64://iVBORw0KGgoAAAANSUhEUgAAABYAAAAoCAYAAAD6xArmAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAHGlET1QAAAACAAAAAAAAABQAAAAoAAAAFAAAABQAAAB5EsHiAAAAAEVJREFUSA1iYKAimDhxYjwIU9FIBgaQgZMmTfoPwlOmTJGniuHIhlLNxaOGwiNqNEypkwlGk9RokoIUfaM5ijo5Clh9AAAAAP//ksWFvgAAAEFJREFUY5g4cWL8pEmT/oMwiM1ATTBqONbQHA2W0WDBGgJYBUdTy2iwYA0BrILDI7VMmTJFHqv3yBUEBQsIg/QDAJNpcv6v+k1ZAAAAAElFTkSuQmCC',
mimeType: 'image/png'
},
{
fileName: 'telerik-logo.png',
path: logoPath,
mimeType: 'image/png'
}]
}).then(
function() {
console.log("Email composer closed");
}, function(err) {
console.log("Error: " + err);
});

根据上述示例,自 1.3.0 版起已添加对完整附件的支持。

从 1.4.0 版本开始,如果找不到文件,则 promise 将被拒绝。

与 Angular 一起使用

查看 此教程 (YouTube),了解如何在 NativeScript-Angular 应用中使用此插件。

已知问题

由于 iOS 限制,您无法使用 iOS 模拟器测试此插件。为了避免崩溃,当在 iOS 模拟器上调用 available 时,此插件返回 false