vip-git / nativescript-email

:envelope: NativeScript Email plugin, for composing and sending drafts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NativeScript Email

An Email plugin for use in your NativeScript app.

You can use it to compose emails, edit the draft manually, and send it.

Installation

Make sure you're running NativeScript 2.3.0 or up. Do npm install -g nativescript if not.

The run the following command from the root of your project:

tns plugin add nativescript-email

API

To use this plugin you must first require/import it:

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

available

TypeScript

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

JavaScript

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

compose

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: ['eddyverbruggen@gmail.com', 'to@person2.com'],
      cc: ['ccperson@somewhere.com'],
      bcc: ['eddy@combidesk.com', 'eddy@x-services.nl'],
      attachments: [
        {
            fileName: 'arrow1.png',
            path: 'base64://iVBORw0KGgoAAAANSUhEUgAAABYAAAAoCAYAAAD6xArmAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAHGlET1QAAAACAAAAAAAAABQAAAAoAAAAFAAAABQAAAB5EsHiAAAAAEVJREFUSA1iYKAimDhxYjwIU9FIBgaQgZMmTfoPwlOmTJGniuHIhlLNxaOGwiNqNEypkwlGk9RokoIUfaM5ijo5Clh9AAAAAP//ksWFvgAAAEFJREFUY5g4cWL8pEmT/oMwiM1ATTBqONbQHA2W0WDBGgJYBUdTy2iwYA0BrILDI7VMmTJFHqv3yBUEBQsIg/QDAJNpcv6v+k1ZAAAAAElFTkSuQmCC',
            mimeType: 'image/png'
        },
        {
            fileName: 'telerik-logo.png',
            path: logoPath,
            mimeType: 'image/png'
      }],
      appPickerTitle: 'Compose with..' // for Android, default: 'Open with..'
  }).then(
    function() {
      console.log("Email composer closed");
    }, function(err) {
      console.log("Error: " + err);
    });

Full attachment support has been added to 1.3.0 per the example above.

Since 1.4.0 the promise will be rejected in case a file can't be found.

Usage with Angular

Check out this tutorial (YouTube) to learn how to use this plugin in a NativeScript-Angular app.

Known issues

On iOS you can't use the simulator to test the plugin because of an iOS limitation. To prevent a crash this plugin returns false when available is invoked on the iOS sim.

About

:envelope: NativeScript Email plugin, for composing and sending drafts

License:MIT License


Languages

Language:JavaScript 100.0%