mailSend.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const mailer = require('nodemailer');
  2. const sys = require('../config/sys_test');
  3. const mailrg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
  4. const transporter = mailer.createTransport({
  5. service: sys.mail.service,
  6. auth: {
  7. user: sys.mail.account,
  8. pass: sys.mail.pass
  9. }
  10. });
  11. /**
  12. * 邮件发送
  13. * @param {to, subject, html} receive
  14. * to string 接收者
  15. * subject string 邮件标题
  16. * html string 邮件内容
  17. * @return Pomise
  18. */
  19. function send(receive) {
  20. return new Promise((resolve, reject) => {
  21. let {to, subject = '邮件发送', html} = receive;
  22. if (!mailrg.test(to)) {
  23. return reject('mail option to format Incorrect');
  24. } else if (!html || html.length === '') {
  25. return reject('mail option html format Incorrect');
  26. }
  27. transporter.sendMail({from: sys.mail.account, to, subject, html}, (err, info) => {
  28. if (err) {
  29. reject(err);
  30. } else {
  31. resolve(info);
  32. }
  33. });
  34. });
  35. }
  36. module.exports = exports = send;