Skip to content

Commit 5930351

Browse files
committed
Add server side nodemailer API
1 parent c64758a commit 5930351

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/server/api/nodemailer.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import assign from 'object-assign';
2+
import nodemailer from 'nodemailer';
3+
import configs from '../../../configs/project/server';
4+
5+
let defaultTransport = (
6+
`smtps://${configs.gmail[process.env.NODE_ENV].username}%40gmail.com:` +
7+
`${configs.gmail[process.env.NODE_ENV].password}@smtp.gmail.com`
8+
);
9+
10+
export default (transport = defaultTransport) => {
11+
let transporter = nodemailer.createTransport(transport);
12+
return {
13+
sendMail: (mailOptions) => new Promise((resolve, reject) => {
14+
mailOptions = assign(
15+
{},
16+
configs.mailOptions.default,
17+
configs.mailOptions[process.env.NODE_ENV],
18+
mailOptions
19+
);
20+
transporter.sendMail(mailOptions, (err, info) => {
21+
if (err) {
22+
return reject(err);
23+
}
24+
return resolve(info);
25+
});
26+
}),
27+
};
28+
};

0 commit comments

Comments
 (0)