@coolgk/email
a javascript / typescript module
npm install @coolgk/email
a email sender wrapper class
Report bugs here: https://github.com/coolgk/node-utils/issues
Examples
import { Email } from '@coolgk/email';
// OR
// const { Email } = require('@coolgk/email');
const email = new Email({host: 'localhost'});
email.send({
subject: 'hello this is email subject',
from: {
name: 'Daniel Gong',
email: 'daniel.k.gong@example.com'
},
to: [
{
name: 'Dan Go',
email: 'dan@example.com'
},
'gong@example.com'
],
message: '<html><body><h1>test</h1>some message here <img src="cid:my-image" width="500" height="250"></body></html>',
attachments: [
{
path: '/tmp/test.png',
name: 'screenshot.png'
},
{
path:"/tmp/test.png",
headers:{"Content-ID": "<my-image>"}
}
]
}).then((sentMessage) => {
console.log(sentMessage);
}).catch((error) => {
console.log(error);
});
Kind: global class
See: https://www.npmjs.com/package/emailjs#emailserverconnectoptions
new Email(options)
Param | Type | Default | Description |
---|---|---|---|
options | object |
||
[options.user] | string |
username for logging into smtp | |
[options.password] | string |
password for logging into smtp | |
[options.host] | string |
"'localhost'" |
smtp host |
[options.port] | string |
smtp port (if null a standard port number will be used) | |
[options.ssl] | boolean |
boolean (if true or object, ssl connection will be made) | |
[options.tls] | boolean |
boolean (if true or object, starttls will be initiated) | |
[options.domain] | string |
domain to greet smtp with (defaults to os.hostname) | |
[options.authentication] | Array.<string> |
authentication methods |
promise
email.send(options, [attachments]) ⇒ Kind: instance method of Email
Returns: promise
- - message sent
Param | Type | Description |
---|---|---|
options | object |
|
options.subject | string |
email subject |
[options.message] | string |
html email message |
options.to | Array.<(string|object)> |
to email address |
options.to[].name | string |
name of the recipient |
options.to[].email | string |
email address of the recipient |
[options.from] |
string | object
|
see options.to |
[options.cc] | Array.<(string|object)> |
see options.to |
[options.bcc] | Array.<(string|object)> |
see options.to |
[attachments] | Array.<object> |
email attachments |
attachments.path | string |
file path |
[attachments.name] | string |
file name |
[attachments.type] | string |
file mime type |
[attachments.method] | string |
method to send attachment as (used by calendar invites) |
[attachments.headers] | object |
attachment headers, header: value pairs, e.g. {"Content-ID":""} |