/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/dev-smtp@0.2.0/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var Fs=require("fs"),Path=require("path"),shortid=require("shortid"),smtpServer=require("smtp-server"),mailparser=require("mailparser");function errorCallback(e){e&&console.error(e)}function prepareFileName(e){return e.replace(/[<>:;"'`\/\\|?*.]+/g,"_").substr(0,100)}const regexpCleanDate=/[^\d-]/g;let lastDateString="",counter=0;function getMailDirName(e){let r;return r=e.date?e.date.toISOString().replace(regexpCleanDate,"-"):(new Date).toISOString().replace(regexpCleanDate,"-"),lastDateString!==r?counter=0:++counter,lastDateString=r,`${r}${counter}-${prepareFileName(e.subject||"")}`}function headerToString(e){if(e.text)return e.text;if(e.value){const r=e.params,t=[];for(const e of Object.keys(r))t.push(`${e}="${r[e]}"`);return`${e.value}; ${t.join("; ")}`}return e.join?e.join(", "):e}function upperFirst(e){return e[0].toUpperCase()+e.substr(1)}function parseMail(e,r){mailparser.simpleParser(e,((e,t)=>{e?console.error(e):onParserEnd(r,t)}))}function onParserEnd(e,r){console.log("Mail recieved: ",r.date,r.from.text,r.subject);const t=[];r.headers.forEach(((e,r)=>t.push(`${upperFirst(r)}: ${headerToString(e)}`)));const a=Path.resolve(e,"..",getMailDirName(r));Fs.rename(e,a,(e=>{if(e)console.error(e);else if(Fs.writeFile(Path.resolve(a,"headers.txt"),t.join("\n"),errorCallback),r.text&&Fs.writeFile(Path.resolve(a,"message.txt"),r.text,errorCallback),r.html&&Fs.writeFile(Path.resolve(a,"message.html"),r.html,errorCallback),r.attachments)for(const e of r.attachments)Fs.writeFile(Path.resolve(a,"attachment_"+e.filename),e.content,errorCallback)}))}function main(e,r=25){const t=new smtpServer.SMTPServer({disabledCommands:["AUTH","STARTTLS"],disableReverseLookup:!0,onData:(r,t,a)=>onServerData(e,r,t,a)});return t.listen(r),process.on("exit",(()=>t.close(errorCallback))),t}function onServerData(e,r,t,a){const o=Path.resolve(e,shortid.generate());Fs.mkdir(o,(e=>{if(e)return void console.error(e);const t=Path.resolve(o,"raw.eml"),n=Fs.createWriteStream(t);parseMail(r,o),r.pipe(n),r.on("end",(e=>{if(e)return n.end(),void console.error(e);a(e)}))}))}module.exports=main;
//# sourceMappingURL=/sm/1808793f277ca5dcb68045ef7359a36d95343b42454d70284def3dd71e553004.map