mail.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. "use strict";
  2. const nodemailer = require("nodemailer");
  3. const { replay } = require("../../config/translate");
  4. let DEFAULT_DATA = {
  5. // from: 'Art Color Team<guoziyun@jccy-tech.com>', //必须与认证用户一致
  6. from: 'Art Color Team<art-number-coloring@jccy-tech.com>', //必须与认证用户一致
  7. // replayTo: 'art_number_coloring@jccy-tech.com', // 指定回复地址为群组邮箱
  8. to: "guoziyun@jccy-tech.com", // list of receivers
  9. subject: '无标题',
  10. text: "无内容", // plain text body
  11. //html: "<b>Hello world?</b>", // html body
  12. }
  13. async function send(mail) {
  14. let transporter = nodemailer.createTransport({
  15. host: "smtp.exmail.qq.com",
  16. port: 465,
  17. secure: true, // true for 465, false for other ports
  18. auth: {
  19. // user: 'guoziyun@jccy-tech.com', // generated ethereal user
  20. // pass: 'NXuoWYuxc773Hz9J', // generated ethereal password
  21. user: 'art-number-coloring@jccy-tech.com', // generated ethereal user
  22. pass: 'Jccy%5858!', // generated ethereal password
  23. },
  24. });
  25. let data = JSON.parse(JSON.stringify(DEFAULT_DATA));
  26. data = Object.assign(data, mail);
  27. try {
  28. let info = await transporter.sendMail(data);
  29. console.log('Mail', data);
  30. console.log("Message sent: %s", info.messageId);
  31. // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
  32. // Preview only available when sending through an Ethereal account
  33. console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
  34. return info;
  35. } catch (err) {
  36. console.error(err);
  37. }
  38. }
  39. module.exports = {
  40. send,
  41. }
  42. if (require.main == module) {
  43. send({
  44. subject: 'hello:' + new Date(),
  45. text: 'hello',
  46. //attachments: [{
  47. // path: './mail.js',
  48. //}]
  49. }).then(console.log).catch(console.error);
  50. }