⚡️ Free, open-source and easy to setup tempmail written in Node.JS!

Overview

tempmail-js

⚡️ Free, open-source and easy to setup tempmail written in Node.JS!

tempmail.js uses MongoDB to store it's data.

Installation

Installing tempmail.js is very easy, all you have to do is:

  1. Clone the repository
git clone https://github.com/1337vida/tempmail-js.git
  1. Install required NPM packages
npm install
  1. Customize your config.json
  2. Run the script!
npm start

(back to top)

Adding a new domain

To add a new domain, make sure you setup CloudFlare on it, and point DNS records like this:

;; A Records
mail.example.com.	1	IN	A	0.0.0.0

;; MX Records
example.com.	1	IN	MX	10 mail.example.com.

DNS Record Example

(back to top)

API Information

All requests need to be authorized via Authorization header which contains the api key from config.json

Method for all the requests is GET

(back to top)

API Routes

Here are all the available routes for tempmail.js:

  • /api/domains
  • /api/:inbox
  • /api/:inbox/list
  • /api/:inbox/latest
  • /api/:inbox/:emailId

(back to top)

Roadmap

  • Add real-time notification system, maybe based on socket.io?
  • Add a webhook notifier on new email
  • Add support for multiple api keys, maybe queried from the database?

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

You might also like...

OBL is a free, libre and open source botlist for Discord, Revolt, Telegram and Guilded. No nfts,no web3,no daos. only bots lol

OBL (aka OpenBotList) Obl is a free,libre and open source botlist for Discord, Revolt, Telegram and Guilded that has free bananas ( Revolt, Telegram a

Sep 26, 2022

🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.

🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.

v1.3 will come around 12 September Upscayl 🆙 Free and Open Source AI Image Upscaler simplescreenrecorder-2022-08-23_20.17.02.mp4 Upscayl is a cross-p

Jan 9, 2023

🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.

🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.

Upscayl 🆙 Free and Open Source AI Image Upscaler Upsacyl.Demo.mp4 Upscayl is a cross-platform application built with the Linux-first philosophy. This

Sep 21, 2022

Dev Guide for Archival Node & Indexer Setup

Dev Guide for Archival Node & Indexer Setup

Algorand - The Undocumented Docs Dev Notes for Archival Node, Indexer Setup (and more) Archival Node FAQ [ ? ] How much space will I need? See - http

May 23, 2022

my ethereum RPC node setup & notes

UBUNTU RPC (scaffold-rpc) sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum = created geth script = g

Jul 4, 2022

AwardBot is an open source advanced giveaway bot. Written in Discord.js

AwardBot is an open source advanced giveaway bot. Written in Discord.js. You can set conditions for the giveaways, automatically deliver the prizes, and lock the giveaways.

Oct 29, 2022

CSVx.js is an open source CSV library written in TypeScript

This project has been transferred to DWTechs. Please update your project dependencies to the latest version from the new repository. Synopsis CSVx.js

Nov 5, 2022

freeCodeCamp.org's open source codebase and curriculum. Learn to code for free.

freeCodeCamp.org's open source codebase and curriculum. Learn to code for free.

freeCodeCamp.org's open-source codebase and curriculum freeCodeCamp.org is a friendly community where you can learn to code for free. It is run by a d

Jan 7, 2023

A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!

A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!

A free and open source resume builder. Go to App What is this app all about? Reactive Resume is a free and open source resume builder that’s built to

Jan 3, 2023
Comments
  • Bump mongoose from 6.3.3 to 6.4.6

    Bump mongoose from 6.3.3 to 6.4.6

    Bumps mongoose from 6.3.3 to 6.4.6.

    Release notes

    Sourced from mongoose's releases.

    6.4.6 / 2022-07-20

    • fix(schema): disallow setting proto when creating schema with dotted properties #12085
    • fix(document): avoid mutating original object passed to $set() when applying defaults to nested properties #12102
    • fix(query): apply lean transform option to top-level document #12093
    • docs(migrating_to_6): correct example for isObjectIdOrHexString() #12123 LokeshKanumoori

    6.4.5 / 2022-07-18

    • fix(model+timestamps): set timestamps on subdocuments in insertMany() #12060
    • fix: correct isAtlas check #12110 skrtheboss
    • fix(types): fix various issues with auto typed schemas #12042 mohammad0-0ahmad
    • fix(types): allow any value for AddFields #12096
    • fix(types): allow arbitrary expressions for ConcatArrays #12058
    • fix(types): make $addToSet fields mutable to allow programatically constructing $addToSet #12091
    • fix(types): add $let as a possible expression to $addFields #12087 AbdelrahmanHafez
    • fix(types): fix $switch expression type #12088 AbdelrahmanHafez
    • fix(types): correct options type for syncIndexes() #12101 lpizzinidev
    • fix(types): avoid treating | undefined types as any in Require_id to better support _id: String with auto-typed schemas #12070
    • docs: fix up various jsdoc issues #12086 hasezoey
    • docs: add sanitizeFilter to mongoose.set() options #12112 pathei-kosmos

    6.4.4 / 2022-07-08

    6.4.3 / 2022-07-05

    • fix(document): handle validating deeply nested subdocuments underneath nested paths with required: false #12021
    • fix(types): infer schematype type from schema paths when calling SchemaType.path() #11987
    • fix(types): add $top and $topN aggregation operators #12053
    • fix(types): clean up a couple of issues with $add and $ifNull #12017
    • fix(types): allow $cond with $in #12028
    • docs: add path level descending index example in docs #12023 MitchellCash
    • docs: add Buffer, Decimal128, Map to docs #11971

    6.4.2 / 2022-07-01

    • fix: keep autoIndex & autoCreate as true by default if read preference is primaryPreferred #11976
    • fix(types): improve inferred Schema Type to handle nested paths and ObjectIds #12007 iammola
    • fix(types): avoid inferring doc type from param to create() #12001
    • fix(types): make populate Paths generic consistently overwrite doc interface #11955
    • fix(types): allow null at ne expression second parameter #11996 jyeros
    • fix(types): change index "weights" to be more explicit #11997 hasezoey

    6.4.1 / 2022-06-27

    ... (truncated)

    Changelog

    Sourced from mongoose's changelog.

    6.4.6 / 2022-07-20

    • fix(schema): disallow setting proto when creating schema with dotted properties #12085
    • fix(document): avoid mutating original object passed to $set() when applying defaults to nested properties #12102
    • fix(query): apply lean transform option to top-level document #12093
    • docs(migrating_to_6): correct example for isObjectIdOrHexString() #12123 LokeshKanumoori

    6.4.5 / 2022-07-18

    • fix(model+timestamps): set timestamps on subdocuments in insertMany() #12060
    • fix: correct isAtlas check #12110 skrtheboss
    • fix(types): fix various issues with auto typed schemas #12042 mohammad0-0ahmad
    • fix(types): allow any value for AddFields #12096
    • fix(types): allow arbitrary expressions for ConcatArrays #12058
    • fix(types): make $addToSet fields mutable to allow programatically constructing $addToSet #12091
    • fix(types): add $let as a possible expression to $addFields #12087 AbdelrahmanHafez
    • fix(types): fix $switch expression type #12088 AbdelrahmanHafez
    • fix(types): correct options type for syncIndexes() #12101 lpizzinidev
    • fix(types): avoid treating | undefined types as any in Require_id to better support _id: String with auto-typed schemas #12070
    • docs: fix up various jsdoc issues #12086 hasezoey
    • docs: add sanitizeFilter to mongoose.set() options #12112 pathei-kosmos

    6.4.4 / 2022-07-08

    6.4.3 / 2022-07-05

    • fix(document): handle validating deeply nested subdocuments underneath nested paths with required: false #12021
    • fix(types): infer schematype type from schema paths when calling SchemaType.path() #11987
    • fix(types): add $top and $topN aggregation operators #12053
    • fix(types): clean up a couple of issues with $add and $ifNull #12017
    • fix(types): allow $cond with $in #12028
    • docs: add path level descending index example in docs #12023 MitchellCash
    • docs: add Buffer, Decimal128, Map to docs #11971

    6.4.2 / 2022-07-01

    • fix: keep autoIndex & autoCreate as true by default if read preference is primaryPreferred #11976
    • fix(types): improve inferred Schema Type to handle nested paths and ObjectIds #12007 iammola
    • fix(types): avoid inferring doc type from param to create() #12001
    • fix(types): make populate Paths generic consistently overwrite doc interface #11955
    • fix(types): allow null at ne expression second parameter #11996 jyeros
    • fix(types): change index "weights" to be more explicit #11997 hasezoey

    6.4.1 / 2022-06-27

    ... (truncated)

    Commits
    • 5449ab9 chore: release 6.4.6
    • b8c99cf Merge pull request #11892 from Automattic/netlify-functions-example
    • 2751883 fix tests
    • eced2c7 Merge branch 'master' into netlify-functions-example
    • 92cb6fb Merge branch 'master' into vkarpov15/gh-12085
    • 422f9da test(schema): add coverage for calling plugin() with options
    • 2262a77 fix(document): avoid mutating original object passed to $set() when applying ...
    • 2e6b064 made requested changes
    • b70a0dc Merge pull request #12123 from LokeshKanumoori/patch-1
    • 086bd9f fix(query): apply lean transform option to top-level document
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • bypass opcode protection

    bypass opcode protection

    Hello,

    I tried desperately to send email requests with this library containing opcode characters, and it always failed. I tried to look at the code, but without success.

    Can you please solve this problem? Thanks in advance for your answer!

    bug good first issue 
    opened by 1337jasper 1
Owner
vida
!vida#0997
vida
Recompo is a free and open-source project that is designed for customizability and speed and is easy to use and powerful.

About Recompo is a free and open-source project that is designed for customizability and speed and is easy to use and powerful Installation recompo is

recompo 4 Mar 20, 2022
Mag🔥Lit - A super fast and easy-to-use free and open source private encrypted Magnet/HTTP(s) Link Shortener

Mag ?? Lit Mag ?? Lit - A super fast and easy-to-use free and open source private encrypted Magnet/HTTP(s) Link Shortener https://maglit.ml Features ✅

null 280 Jan 8, 2023
An open-source URL Shortener written in Node.js 🔗

What's this? Qurl.gq is an open-source URL Shortener written in Node.js ?? Contributing ideas Apply a custom font Add tests UI Improvements Sanitise u

RedstoneRadiant 7 Oct 7, 2022
Easy to setup and highly customizable leaderboard with built-in score validation system.

EasyLeaderboard Add a leaderboard to your game in under 10 minutes! ?? Ready to go game clients make adding a leaderboard quick and easy ??️ Extendabl

Garrett Allen 12 Sep 30, 2022
Shikhar 4 Oct 9, 2022
Reference for How to Write an Open Source JavaScript Library - https://egghead.io/series/how-to-write-an-open-source-javascript-library

Reference for How to Write an Open Source JavaScript Library The purpose of this document is to serve as a reference for: How to Write an Open Source

Sarbbottam Bandyopadhyay 175 Dec 24, 2022
An Open-Source Platform to certify open-source projects.

OC-Frontend This includes the frontend for Open-Certs. ?? After seeing so many open-source projects being monetized ?? without giving any recognition

Open Certs 15 Oct 23, 2022
This is a project for open source enthusiast who want to contribute to open source in this hacktoberfest 2022. 💻 🎯🚀

HACKTOBERFEST-2022-GDSC-IET-LUCKNOW Beginner-Hacktoberfest Need Your first pr for hacktoberfest 2k22 ? come on in About Participate in Hacktoberfest b

null 8 Oct 29, 2022
A free and open-source point-of-sale (POS) system for retail and wholesale businesses with support for multiple branches, stockkeeping locations, POS profiles and price lists.

Note: This is a beta version of the software. You are advised to proceed with caution! Overview A free and open-source point-of-sale (POS) system for

Mwai G 2 Jan 27, 2022
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹

TypeScript Deep Dive I've been looking at the issues that turn up commonly when people start using TypeScript. This is based on the lessons from Stack

Basarat Ali Syed 18.7k Jan 4, 2023