Mail

Collection of e-mail functions.

Methods

send

send(smtpSettings: { host: string, port?: number, auth?: { user: string, pass: string }, secure?: boolean }, mailOptions: { from: string, to: string | string[], cc?: string | string[], bcc?: string | string[], subject: string, text?: string, html?: string, attachments?: { filename: string, content?: string, path?: string, contentType?: string, encoding?: string, cid?: string }[] }) 

Send an e-mail to one or more recipients.

Parameters

smtpSettings { host: string, port?: number, auth?: { user: string, pass: string }, secure?: boolean }

The SMTP connection settings.

mailOptions { from: string, to: string | string[], cc?: string | string[], bcc?: string | string[], subject: string, text?: string, html?: string, attachments?: { filename: string, content?: string, path?: string, contentType?: string, encoding?: string, cid?: string }[] }

The mail options. Includes the from, to, subject, text and html properties.

Return type

{ accepted: string[], rejected: string[], envelopeTime: number, messageTime: number, messageSize: number, response: string, envelope: { from: string, to: string[] } }

Examples

Mail.send({ 
  host: 'smtp.example.com',
  port: 587,
  secure: false,
  auth: {
    user: 'admin',
    pass: 'rosebud'
  }
}, 
{
  from: '"Sender Name" <sender@example.com>',
  to: 'someone.else@example.com',
  subject: 'Hello!',
  text: 'This is the plain text body (optional)!',
  html: 'This is the <b>HTML</b> body!'
})

// You can also send to multiple recipients and even add attachments:
Mail.send(smtpSettings, // For brevity, assume this is already defined
{
  from: '"Sender Name" <sender@example.com>',
  to: ['someone.else@example.com', 'another.one@example.com'],
  cc: ['cc1@example.com', 'cc2@example.com'],
  bcc: ['bcc1@xample.com', 'bcc2@example.com],
  subject: 'Hello!',
  html: 'This is the <b>HTML</b> body with embedded image: <img src="cid:Logo"/>'
  attachments: [
    { filename: 'text1.txt', content: 'hello world!' },
    { filename: 'text2.txt', content: 'goodbye world!' },
    { filename: 'logo.png', cid: 'Logo', path: 'data:image/png;base64,[Base64 encoded image here]' },
  ]
})