Skip to content

Simple email server to handle you domain emails easily

License

Notifications You must be signed in to change notification settings

ido-pluto/node-email-server

Repository files navigation

Node Email Server


Light weight email server for Node.js over HTTP(S) with REST API

Built as a solution for sending emails without any third party services or complex configurations.

Features

  • Send email over HTTP(S) with REST API
  • Light weight
  • Support multiple domains
  • Easy to use, no extra services required
  • CapRover support

Deploy using Docker

docker build -t node-email-server .
docker run -p 25:25 -p 80:4321 -v /path/to/store/db:/app/storage -e PASSWORD=myDashboardPassword node-email-server

REST API

const response = await fetch("https://email.my-domain.com/send", {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({
        password: "myPassword",
        from: '[email protected]',
        to: '[email protected]',
        html: '<b>Hello World</b>',
    }),
});

const fails = response.json();

if(fails.length === 0){
    console.log('Email sent');
} else {
    console.log('Error sending email');
}

About the project

  • Built using Node.js, Astro, and lowdb
  • SMTP server using smtp-server package
  • Server components using @astro-utils/forms package
  • UI components using rippleui package

Screenshots

Please Star the project if you like it