Skip to content

Latest commit

 

History

History
117 lines (87 loc) · 3.15 KB

README.md

File metadata and controls

117 lines (87 loc) · 3.15 KB

@nativescript/Email

NPM version Downloads Twitter Follow

You can use this plugin to compose an e-mail, have the user edit the draft manually, and send it.

Note: This plugin depends on the default mail app. If you want a fallback to a third party client app like Gmail or Outlook, then check for availability, and if not available use a solution like the Social Share plugin.

ns plugin add @nativescript/email

Usage

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().then((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
import { knownFolders } from '@nativescript/core';
var appPath = 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);
		}
	);

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.

License

Apache License Version 2.0