123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const nodemailer = require('nodemailer');
- const config = require('../../config.json');
- const path = require('path');
- const Logger = require('../../lib/Logger');
- const logger = new Logger(path.join(__dirname, '../../logs/Email.log'), 'INFO');
- const transporter = nodemailer.createTransport({
- host: config.email.host,
- port: config.email.port,
- secure: config.email.secure,
- auth: {
- user: config.email.user,
- pass: config.email.password
- }
- })
- async function sendEmail(email, subject, content) {
- return new Promise((resolve, reject) => {
- const mail = {
- from: `Double_X考勤 <${transporter.options.auth.user}>`,
- to: email,
- subject: subject,
- text: content
- }
- try {
- transporter.sendMail(mail, (error) => {
- if (error) {
- logger.error('邮件发送失败:', error);
- reject(error);
- } else {
- resolve();
- }
- })
- } catch (error) {
- logger.error('邮件发送失败:', error);
- reject(error);
- }
- })
- }
- module.exports = sendEmail;
|