send mass email without setting up smtp server
npm install emaileggjavascript
npm install emailegg
`
Require in your scripts
`javascript
const Emailegg = require('emailegg')
`
If you want to specify a local IP u can require like this
`javascript
const egg = new Emailegg({
// Specifies your own ip address for the egg
localAddress: '8.8.8.8'
})
`
* warning: localAddress IP must be bound to the local network card
You can also use dkim like this
`javascript
const fs = require('fs')
const egg = new Emailegg({
// Specifies your own ip address for the egg
localAddress: '8.8.8.8',
dkim: {
privateKey: fs.readFileSync('./dkim-private.pem', 'utf8'),
keySelector: 'mydomainkey'
}
})
`
You can send mail like this :
`javascript
egg.sendMail({
from: 'test@yourdomain.com',
to: 'kenny@yourdomain.com',
replyTo: 'jason@yourdomain.com',
subject: 'MailComposer sendmail',
html: 'Mail of test sendmail '
}, (errInfo, succInfo) => {
// You can set your own log by this callback
console.log(errInfo, succInfo)
})
`
$3
succInfo and errInfo is an object
You can make your log like this
`javascript
const fs = require('fs')
const moment = require('moment')
egg.sendMail({
from: 'test@yourdomain.com',
to: 'kenny@yourdomain.com',
replyTo: 'jason@yourdomain.com',
subject: 'MailComposer sendmail',
html: 'Mail of test sendmail '
}, (errInfo, succInfo) => {
const dateName = ${moment().format('YYYY-MM-DD')}.log;
if (errInfo) {
const {time,fromEmail,toEmail,mx,info,code,status} = errInfo
const data = [fromEmail,toEmail,mx,info,code,status].toString()
fs.appendFileSync(dateName, time + ',' + ' ' + data + '\r\n')
}
})
`
Mail Options
Note we use mailcomposer to compose our mail before we send it out so all mail options will be well documented Here. But for those who want something particular go ahead and search down below.
$3
Below are a list of the most used options for email fields. Please read the entire list of options here Here:
- from
- sender
- to
- cc
- bcc
- replyTo
- inReplyTo
- subject
- text
- html
$3
You are also able to send attachents. Please review the list of properties here Here
$3
In addition to text and HTML, any kind of data can be inserted as an alternative content of the main body. Please check that out Here
$3
All e-mail addresses can be formatted. Please check that out Here
$3
SMTP envelope is usually auto generated from from, to, cc and bcc` fields but you can change them Here