Giter Site home page Giter Site logo

team-tritan / disposable-email Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 0.0 383 KB

An actually good disposable email service everyone should totally use!

Home Page: https://mailbox.tritan.gg

License: MIT License

TypeScript 97.98% CSS 0.94% JavaScript 0.63% Dockerfile 0.45%
disposable disposable-email disposable-mail docker email express mail nextjs react temp-mail typescript zustand

disposable-email's Introduction

Tritan Disposable Mail

Tritan Disposable Mail aims to change the temporary email experience by providing a user-friendly interface similar to a traditional inbox while offering the functionality of a temporary mail service. Unlike existing solutions, Tritan Temp Mail creates individualized inboxes rather than relying on catch-all emails, enhancing privacy and organization.

This codebase also gives users the ability to send emails from their custom mailboxes, regenerate new addresses with the click of a button (literally), and view their sent emails in addition to deleting individual messages or their entire mailbox as a whole. Say goodbye to catch all temp mail services, yuck.

Don't want to self host? You can use our hosted version, here.

Backend

The backend is built with Express and TypeScript. It uses custom made wrappers, such as imap for fetching emails, smtp for sending emails, and mongoose for interacting with MongoDB.

Frontend

The frontend is built with Next.js and TypeScript. It uses Zustand for state management and Tailwind CSS for styling.

Getting Started

  1. Clone the repository: https://github.com/team-tritan/temp-mail

    git clone https://github.com/team-tritan/Disposable-Mail/
    
    # In the backend directory
    cd backend
    npm install
    
    # In the frontend directory
    cd ../frontend
    npm install
    
  2. Edit the config files.

    • You will need to edit backend/config.ts and frontend/next.config.js for their appropriate values. To avoid messiness with changing from local to production env (since next is client side), we are proxying API requests using Next Rewrites. You will need to setup an Nginx proxy or something, then place that domain in the next rewrite section.
  3. Start the application in dev mode:

    # In the backend directory
    npm run dev
    
    # In the frontend directory
    npm run dev
  4. Auto build and run the application in production:

Notes

  • This project was specifically made to work with the Mailcow API for creating user accounts.

  • The user authentication for email accounts is stored under local storage. If the connection is rejected, it will remove the auth and tell the user to refresh. If there is nothing in local storage, it creates the account and stores the tokens.

  • To avoid sent mail abuse or any subpoenas, sent mail logs are stored in MongoDB. We're also planning on using MongoDB to set an expiration time for any temp mail accounts to automatically clean up the mail server. This is SoonTM.

  • Once a mailbox is deleted, it is genuinely gone forever. The only data stored in the database is the time of creation, email auth, and sent messages.

Contributing

Contributions are welcome! Please feel free to submit a pull request with any neat features.

Developed by

Tritan Internet! We provide hosting and various services, you can visit our website here.

Support Us

You can buy us a coffee or purchase hosting.

License

This project is licensed under the MIT License.

Screenshots

base ui compose email email in viewer alerts

disposable-email's People

Contributors

xfy777 avatar devfxx avatar

Stargazers

Dylan J. avatar

disposable-email's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.