This is a very simple interface to the Linux sendmail
command for sending
email.
Ensure a compatible sendmail
command is installed.
$ npm install @ig3/sendmail
const sendmail = require('@ig3/sendmail');
sendmail({
from: 'from@example.com',
to: 'to@example.com',
subject: 'Test subject',
body: 'The body of the email'
})
.then(() => {
console.log('The email has been sent');
})
.catch(err => {
console.log('Attempt to send email failed with error: ', err);
});
The sendmail function requires an options object as sole argument.
It returns a Promise that resolves after the email has been sent (i.e. the
sendmail
command has been run successfully to send the email, which may
result in the email being queued rather than sent immediately, depending on
the sendmail
command implementation.
The email address the email is to be from. This must be a single email address, as a string;
The email address that replies should be sent to. This must be a single email address, as a string.
The email addresses the email should be sent to. This may be a single email address as a string or an array of one or more email addresses.
Email addresses the email should be copied to. This may be a single email address as a string or an array of zero or more email addresses.
Email addresses the email should be blind copied to. This may be a single email address as a string or an array of zero or more email addresses.
The subject of the email, as a string.
Path to the sendmail
command, as a string. Default is 'sendmail'.
The envelope from address, passed as value of option -f
of the sendmail
command, to set the envelope 'from' address, distinct from the header
'From' address.
This may be set to 'html' to send a multipart email with an html part and optional plain text part (see plaintext).
This is the text of the body of the email as a string.
This is the text of the plain text body of the email, as a string.
If bodyType is 'html' then this may be set to include an alternate plain text part.