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/emailUse @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 ccrecipients. | 
| bcc | string[] | Optional: An array of email addresses of the bccrecipients. | 
| attachments | Array<Attachment> | The files to be attached to the email. | 
| iosViewController | any | Optional: ( iOS-only) iOS View Controller to opencomposefrom. | 
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 falsewhenavailableis invoked on the iOS simulator.
License 
Apache License Version 2.0
- Previous
- Directions
- Next
