email.ts 859 B

1234567891011121314151617181920212223242526272829303132
  1. import BaseService from '../../base';
  2. import * as nodemailer from 'nodemailer';
  3. import Mail = require('nodemailer/lib/mailer');
  4. /**
  5. * 邮件服务
  6. */
  7. export default class EmailService extends BaseService {
  8. /**
  9. * 发送邮件
  10. */
  11. async sendEmail(info: Mail.Options) {
  12. const { host, port, user, pass, secure } = this.config.mailer;
  13. // let testAccount = await nodemailer.createTestAccount();
  14. // create reusable transporter object using the default SMTP transport
  15. const transporter = nodemailer.createTransport({
  16. host,
  17. port,
  18. secure, // true for 465, false for other ports
  19. auth: {
  20. user, // generated ethereal user
  21. pass, // generated ethereal password
  22. },
  23. });
  24. // send mail with defined transport object
  25. const result = await transporter.sendMail(info);
  26. return result;
  27. }
  28. }