Plugins
@nativescript/Email
Contents
Intro
A 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.
Installation
To install the plugin, run the following command in the root directory of your project:
cli
npm install @nativescript/email
Use @nativescript/email
Check for availability
To check if the device has the Mail app installed, call the available
method.
ts
import { available() } from '@nativescript/email';
available().then((avail: boolean) => {
console.log('Email available? ' + avail);
});
Compose an email
To compose an email, use the compose
method.
js
import { compose } from '@nativescript/email'
// first create a File object
import { knownFolders } from '@nativescript/core'
var appPath = knownFolders.currentApp().path
var logoPath = appPath + '/res/telerik-logo.png'
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)
}
)
API
Method(s)
Name | Return Type | Description |
---|---|---|
available() | Promise<boolean> | Checks for availability of a mail app. |
compose(options: ComposeOptions) | Promise<boolean> | Composes and sends a ComposeOptions email. |
Usage with Angular
Check out this tutorial (YouTube) to learn how to use this plugin in a NativeScript-Angular app.
API
Functions
Function | Return Type | Description |
---|---|---|
available() | Promise<boolean> | Checks for availability of a mail app. |
compose(options: ComposeOptions) | Promise<boolean> | Composes and sends a ComposeOptions email. |
ComposeOptions
Name | Type | Description |
---|---|---|
subject | string | Optional: The subject of the email. |
body | string | Optional: The body of the email. The plugin will automatically handle plain and html email content. |
body | string | Optional: The body of the email. The plugin will automatically handle plain and html email content. |
to | string[] | Optional: An array of email addresses of the direct recipients. On Android only the first item in the array is used. |
cc | string[] | Optional: An array of email addresses of the cc recipients. |
bcc | string[] | Optional: An array of email addresses of the bcc recipients. |
attachments | Array<Attachment> | The files to be attached to the email. |
iosViewController | any | Optional: (iOS-only ) iOS View Controller to open compose from. |
Attachment
Name | Type | Description |
---|---|---|
fileName | string | The name used for the attachment. Example: fileName: 'Cute-Kitten.png' |
path | string | The to the file to be attached. |
mimeType | string | (iOS-only )Used to help the iOS device figure out how to send the file.Example:mimeType: 'image/png' |
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
whenavailable
is invoked on the iOS simulator.
License
Apache License Version 2.0
- Previous
- Directions
- Next