Nerds Publishing Monstrosities

    simple-smtp-listener

    1.0.1 • Public • Published

    simple-smtp-listener

    A NodeJS script that acts as a simple SMTP listen server. Accepts all emails, and emits them both as an EventEmitter and through a socket.

    Usage (single access)

    If only 1 script needs to receive mails:

    const SMTPServer = require("simple-smtp-listener").Server;
    const server = new SMTPServer(25 /* port */);
    server.on("test@example.com", (mail)=>{
        ...
    });

    Usage (multi access)

    If multiple scripts need to receive mails, create a symlink at /var/dev/simple-smtp-listener/ pointing to the working directory, then create a symlink at /etc/systemd/system/simple-smtp-listener.service pointing to ./service/simple-smtp-listener.service. Finally run sudo systemctl start simple-smtp-listener. This starts the server and keeps it running should it crash.

    If you aren't running systemd, do the equivalent on your system.

    Then in your scripts do

    const SMTPClient = require("simple-smtp-listener");
    const client = new SMTPClient();
    client.on("test@example.com", ()=>{
        ...
    });

    Mail object

    All listeners receive a single response, a Mail object. This is simply the email parsed by Nodemailer's Mailparser. See their documentation for details.

    Socket

    If you need access to mails from non-JS code (or you don't want to use SMTPClient), you can instead listen to the UNIX/Windows socket (default UNIX location: /tmp/app.simple-smtp-listener).

    The server emits emails as UTF8-encoded JSON to all clients, using node-ipc.

    Install

    npm i simple-smtp-listener

    DownloadsWeekly Downloads

    0

    Version

    1.0.1

    License

    none

    Unpacked Size

    7.99 kB

    Total Files

    7

    Last publish

    Collaborators

    • birjolaxew