TrashEmail is hosted Telegram bot that can save your private email address by offering disposable email address

Overview

Build StatusBot Gitter GitHub language count GitHub code size in bytes GitHub issues GitHub closed pull requests Twitter Follow GitHub followers

tl;dr

TrashEmail is hosted Telegram bot that can save your private email address by offering disposable email address. It can create, manage, disposable email address and link them with your telegram bot chat.

  • Where is the bot? - @trashemail_bot
  • How can I create dispoable mail id? - Decide a username & ask the bot 😄
  • How many email ids can I own at a time? - Right now, the count is 8.
  • How can I access my emails? - If there is an email for you, it will come to telegram 😄 Easy right.
  • Do I need to setup and remember any password? - No Sir, that's the trick.
  • Why am I maintaining and hosting this? - This is my first such tool for community 😄 I wanted to give something back to community. If you like the idea and wanted to contribute then you can BuyMeACoffee
  • How many users are currently using it? - The information about active registered users and latest version of this service can be found here: https://trashemail.in

Trashemail Dashboard

How can I use this hosted service:

  • Its super easy, just see the demo below.

Video on How to use it

What is Disposable Temporary E-mail? And How am I different?

Forget about spam, advertising mailings, hacking and attacking robots. Keep your real mailbox clean and secure.Trashemail provides temporary(or permanent), secure, anonymous, free, disposable email address. Want to get one ? its here : @trashemail_bot

Disposable email - is a service that allows to receive email at a temporary(Here in case, the temporary factor is upto you) address that self-destructed after a certain time elapses. It is also known by names like : tempmail, 10minutemail, throwaway email, fake-mail or trash-mail. Many forums, Wi-Fi owners, websites and blogs ask visitors to register before they can view content, post comments or download something.

Trashemail is not most advanced throwaway email service but a reliable service that helps you avoid spam, stay safe and get emails delivered directly to your @trashemail_bot Telegram bot. And in case you are getting too many such mails, just delete the email Id :) with one click(oops command, since this is telegram bot).

There are websites that offers such sort of functionalities (like https://temp-mail.org/en/ etc) but the certain issues with such platforms:

  1. Your information is safe or not you can't audit.
  2. The domain keeps changing as soon as they are identified as temp-mail domains.
  3. Everytime you have to visit site to get one, you can't keep the same temporary mail for long.
  4. And, their business model which makes you see lot of ads in website.

Considering all of this, I decided to make a open source project out of my hobby and thought of offering it as a service to others :) How my service is better than theirs:

  1. The entire source code is open for audit, I am not interested in your data at all.
  2. Right now I own a domain trashemail.in and you will get emailIds from this domain only. (Easy for you to remember).
  3. The temporary time for your emailId to be alive is on you, not on the server, you can keep it permanently as well, or as long as I am able to maintain the @trashemail_bot.
  4. This project is out of passion, so I don't have motive of earning anything, so No Ads.(I am serious, I hate them too, like you)
  5. I am always open to suggestion, feedback & Issues to work on.

Let's talk about the Source.

TrashEmail is Java spring-boot microservice that anyone can build locally currently with few setting to tune in and then have the entire setup running locally. All you need to own is mail server(SMTP and IMAP), telegram bot token and mvn locally to build it. Few requirements with the mailserver:

  1. SMTP host should allow Alias creation.
  2. IMAP server should support IDLE.

I have to update the config slightly, and will do it quickly. :)

All you need to do is clone the source, build and run, and just tell telegram that you are listening here.

git clone https://github.com/r0hi7/Trashemail.git
cd Trashemail

# Copy EmailsToTelegramServiceConfig-sample.yml and
# TrashEmailServiceConfig-sample.yml files
# according to your environemnt
# Let's say you want to deploy it for dev env
# Then copy these files like

cp EmailsToTelegramServiceConfig-sample.yml EmailsToTelegramServiceConfig-dev.yml
cp TrashEmailServiceConfig-sample.yml TrashEmailServiceConfig-dev.yml

# Now modify the respective copied files with your configs
# Similarly, it can be deployed be "qa", "prod" environments
# Finally, run the script build-and-run.sh with env as an argument

bash build-and-run.sh dev

# If you dont want to deploy it in docker-compose, then
# Use Makefile directly
# It will create targets for EmailsToTelegramService and TrashEmailService respectively

make dev

Dev configs may look like this: EmailsToTelegramServiceConfig-dev.yml

# Email Server IMAP and SMTP configuration
# SMTP server should support Alias creation and deletion
# IMAP server should support IDLE

trashemail:
  host: trash-email-service
  port: 9090
  path: /getChatId/

imap-client-service:
  telegram:
    url: https://api.telegram.org/bot
    bot-token: xxxxxxxxxxxxxxxxxxxxxx
    size: 4096
  imap:
    host: trashemail.in
    port: 993
    email: [email protected]
    password: changeme
  emails:
    hostPath: http://127.0.0.1:8000/
    downloadPath: /opt/EmailsToTelegramService/mails/

# main will specify springboot application to
# no start any tomcat server, which is not even
# required for emailservice.
spring:
  application:
    name: EmailsToTelegramService
  main:
    web-application-type: none

TrashEmailServiceConfig-dev.yml

# Tomcat server settings
server:
  port: 9090

#Email server configuration for SMTP alias creation
email-server:
  hosts:
    - trashemail.in
    - thromail.com
    - humblemail.com
  admin-email: [email protected]
  admin-password: sample
  add-url: https://trashemail.in/admin/mail/aliases/add
  remove-url: https://trashemail.in/admin/mail/aliases/remove
  target-alias: [email protected]


# Sample config for connecting with mysql-docker
spring:
  datasource:
    url: jdbc:mysql://mysql:3306/trashemail
    username: root
    password: changeme
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    hibernate:
      ddl-auto: update
    show-sql: true
  application:
    name: Trashemail



# Trashemail app server settings
trashemail:
  max-emails-per-user: 4

# Logger settings
logging:
  level:
    io:
      github:
        trashemail: debug
  1. This code will spin up the service at localhost:9090/telegram/new-message endpoint.
  2. Now will have to expose this service to internet, and there are options like : ngrok, dataplicity, localtunnel etc.
    • Start ngrokwith http on port 9090
    • Get the ngrok https url
  3. DB is taken care by mysql
  4. Get a bot for you from, Telegram Bot Father
  5. The last step is important, tell telegram that where you are listening :). Set up the webhook, this webhook will tell telegram where to send the bot incoming requests
    /telegram/new-message" https://api.telegram.org/bot /setWebhook">
    curl -F "url=https://
          
           /telegram/new-message
           "
           https://api.telegram.org/bot<BOT_TOKEN>/setWebhook
  6. And you are done.

How It Works

  1. For this bot to work, you need existing SMTP, IMAP setup.
    1. SMTP with Alias creation
    2. IMAP with IDLE enabled
  2. As user, requests for creation,
  3. It fools the user, that it created an email Id rather it creates an alias to exiting ID.
    1. Why Alais, as IMAP needs to poll right, for incoming mails? This is how it is engineered.
  4. Runs a background async service to poll IMAP server.
  5. As soon as mail is fetched, the target is identified and telegram message is sent.

I have tried to engineer this service to be reliable, in case if you find any issues with the reliability(or with anything else), please feel free to drop in a PR. I would be happy to review and merge.

Sponsors

  1. Two domains thromail.com & humblemail.com are proudly donated by zlipa.com. Zlipa offers domains names for startups, bootstrapper etc with 10X lesser market price. Exciting right? Just checkout once.

  2. If you like the idea, then buy me a coffee, I will get caffine in my blood and to spend extra nights to make this product secure, up and running 😄

Buy Me A Coffee

  1. Or you can drop in a , this motivates me.

Credits

TelegramAllTheThings

Comments
  • problem in bot

    problem in bot

    hey, actually i am writing this to tell you that this bot is not working from last few months or days and i have used some mail ids through this bot to make some accounts now i am finding difficulty to reset the passwords of those accounts. Can you please fix this bot as i want to regain those accounts those accounts are really very important for me. i request the owner and the managing team to fix it please. Waiting for your reply hopefully i will get it soon. Thankyou

    opened by mrdayamzaidi 11
  • HTML version of email link not over HTTPS

    HTML version of email link not over HTTPS

    Describe the bug There is button to display "HTML Version" of email. It redirects with an http:// URL and not https://

    To Reproduce Steps to reproduce the behavior:

    1. Send urself an email (with HTML content?)
    2. In bot click on "HTML Verison" button

    Expected behavior URL must begin with https://

    Screenshots notHTTPS

    bug enhancement good first issue 
    opened by dcRUSTy 6
  • BYE server shutdown

    BYE server shutdown

    Describe the bug

    javax.mail.FolderClosedException: * BYE Server shutting down.
    	at com.sun.mail.imap.IMAPFolder.throwClosedException(IMAPFolder.java:2538)
    	at com.sun.mail.imap.IMAPFolder.idle(IMAPFolder.java:2336)
    	at com.sun.mail.imap.IMAPFolder.idle(IMAPFolder.java:2252)
    	at io.github.trashemail.EmailInteraction.ImapClient$IdleThread.run(ImapClient.java:117)
    

    Desktop (please complete the following information):

    • OS: Ubuntu
    • Version 1.0.0
    bug help wanted 
    opened by rosehgal 5
  • 🥒 Severe issue with 'HTML version'

    🥒 Severe issue with 'HTML version'

    HTML version link is not working for me. Try it yourself: https://trashemail.in/mails/0f3d5bb2-68ab-4d3e-a06b-3fc1319d948c.html

    It's a major issue for this one - there should be a download button in the letter. But other links don't work either.

    opened by JustACuteGirlLookingForAManToFixHerBugs 4
  • Not working if trashemail address is used in BCC field

    Not working if trashemail address is used in BCC field

    Compose a new email with trashemail address in BCC field. Expected - Should be delivered on telegram. Actual - Not delivered on telegram. Reason - SMTP Alias?

    enhancement help wanted good first issue wontfix 
    opened by dcRUSTy 4
  • Delay

    Delay

    Hello,

    I discovered your bot on privacytoolsio reddit. Great work!

    I came across unexpected behaviour. When I am sending an message to the email created by Trashemail Bot, it comes to my Telegram with significant delay. Delay is about 5-10 minutes, which can kind of annoying when you want to confirm a link quickly.

    Could you please investigate?

    This bot is simply amazing and I really appreciate your work.

    bug 
    opened by GhilbiGithubilbi 3
  • Message parsing is not working as expected.

    Message parsing is not working as expected.

    Describe the bug Message parsing is not working as expected. If you send a very basic HTML mail from any mail service. Following parameters a coming out to be true.

    MailParser    : Is plain content true
    MailParser    : Is HTML content true
    MailParser    : Is multipart true
    MailParser    : Is plain content Empty false
    

    Due to which, this statement is never reached. https://github.com/r0hi7/Trashemail/blob/b67de8bfface2386071b32b9a9930d90a77d8b20/src/main/java/io/github/trashemail/utils/MailParser.java#L39 Because this is evaluated to false: https://github.com/r0hi7/Trashemail/blob/b67de8bfface2386071b32b9a9930d90a77d8b20/src/main/java/io/github/trashemail/utils/MailParser.java#L38

    To Reproduce Steps to reproduce the behavior:

    1. Send an HTML mail from good with the following content.
    **Bold text**
    _Italic_
    

    Expected behavior Since this is multipart mail, the HTML field should be processed. And HTML message should be recorded.

    bug good first issue 
    opened by rosehgal 3
  • Handling of response of email id creation.

    Handling of response of email id creation.

    Describe the bug Email not created but assigned to telegram user.

    To Reproduce poc

    Expected behavior Either end to end flow should work or it should roll back.

    bug 
    opened by dcRUSTy 3
  • Create safe and unsafe HTML files for emails

    Create safe and unsafe HTML files for emails

    Safe version of email will block remote resources for privacy and security but may display crippled version of email, unsafe version will be as is copy of email without CSP. Possible fix for https://github.com/TrashEmail/TrashEmail/issues/59

    opened by dcRUSTy 2
  • Creation of Alias as

    Creation of Alias as "admin email id" for admin email id should be forbidden?

    https://github.com/r0hi7/Trashemail/blob/fcb1903e55a8e53026918e23f58ee94e545c101d/src/main/resources/application.yml#L10 A user can create alias "[email protected]" for admin email id "[email protected]" and get incoming mail on telegram. Security Issue?

    wontfix 
    opened by dcRUSTy 2
  • Can't create a new temp email.

    Can't create a new temp email.

    Describe the bug

    Can't register a new temp email on the bot. It says: "Something bad just happened with me. Stay back till I get fixed"

    To Reproduce

    Steps to reproduce the behavior:

    1. Install bot.
    2. Create a new email.
    3. See error

    Expected behavior

    Should create a new email to receive emails.

    Screenshots Screenshot_20200601-145030_Telegram

    Smartphone (please complete the following information):

    • Device: Android, Samsung M40
    • OS: Android 10
    bug 
    opened by Suleman-Elahi 2
  • [Snyk] Upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.6

    [Snyk] Upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.6

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.6.

    :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


    • The recommended version is 50 versions ahead of your current version.
    • The recommended version was released 23 days ago, on 2022-11-24.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    🧐 View latest project report

    🛠 Adjust upgrade PR settings

    🔕 Ignore this dependency or unsubscribe from future upgrade PRs

    opened by rosehgal 0
  • [Snyk] Upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.5

    [Snyk] Upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.5

    Snyk has created this PR to upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.5.

    :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


    • The recommended version is 48 versions ahead of your current version.
    • The recommended version was released 23 days ago, on 2022-10-20.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    🧐 View latest project report

    🛠 Adjust upgrade PR settings

    🔕 Ignore this dependency or unsubscribe from future upgrade PRs

    opened by snyk-bot 0
  • [Snyk] Upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.4

    [Snyk] Upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.4

    Snyk has created this PR to upgrade org.springframework.boot:spring-boot-starter-data-jpa from 2.4.0 to 2.7.4.

    :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


    • The recommended version is 46 versions ahead of your current version.
    • The recommended version was released 22 days ago, on 2022-09-22.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    🧐 View latest project report

    🛠 Adjust upgrade PR settings

    🔕 Ignore this dependency or unsubscribe from future upgrade PRs

    opened by snyk-bot 0
  • Docker image runs as root

    Docker image runs as root

    Is your feature request related to a problem? Please describe. Not a problem, but a vulnerability! :) It's not a best practice to run docker images as the root user

    Describe the solution you'd like Run the app as a non-root user

    Describe alternatives you've considered Same as above

    Additional context It's a few lines of code in the Dockerfile, I volunteer to do it if you want :)

    opened by blueprismo 0
Releases(v3.0.0)
  • v3.0.0(Jul 12, 2020)

  • v2.2.2(Jul 6, 2020)

  • v2.1.1(Jun 27, 2020)

  • v2.0.0(Jun 20, 2020)

    Change-log:

    • Enhance UX.
    • Support for HTML messages, which was missing in the previous versions.
    • Enhancement for MailParsers, now they support multipart data, which was missing in previous case.
    • Offering link for viewing HTML mails in browser.
    • A micro service architecture in implementation.
      • EmailsService is seperated from the main hosting spring boot rest service.
    • Lot of bug fixes, which made email parsing at backend more reliable.
    • The most severe exception has been fixed now, which was FolderClosedExeception, which was due to connection closure. This release make use of NOOP imap instruction to deal with it.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Jun 1, 2020)

    This release change-log:

    • Handling long email messages, as telegram messages imposes a limit of 4096 characters.
    • Bug Fixes:
      • In case email server is unable to create Alias, the alias was getting assigned to the user. This issue has been fixed.
    • Code refactor
    • Code clean-up and used Lombok for removing boilerplate getter/setter code.
    • Support for config based max emailIds per user
    • version change from 1.0.0 -> 1.1.0
    • Config restructuring.
    • Support for multiple domains is added. Now this bot can interact with multiple domains and can offer temp-mails from various domains. Config driven.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(May 27, 2020)

    The very first release of this project, the available zip file can be downloaded, unpack and build using maven. One jar is ready, just supply the jar with the necessary config and bingo, your local deployment is ready.

    Source code(tar.gz)
    Source code(zip)
Owner
Rohit Sehgal
Working !!
Rohit Sehgal
Bot de Telegram que informa del precio del combustible en las gasolineras más próximas a tu ubicación

Telegram BOT Bot de Telegram en JAVA y SQLite. Sirve para consultar los precios de las gasolineras más cercanas a tu ubicación. Los datos son proceden

null 6 Jan 12, 2022
DM Movie is an app with several movies catalogued through a database, you enter your email and your rating of the movie

DM Movie is an app with several movies catalogued through a database, you enter your email and your rating of the movie

Davi M. G. de Almeida 5 Jan 28, 2022
Some anti afk bot which prevents you from getting punished for going afk in games. Way of stopping the bot is slightly flawed but we'll ignore that.

AntiAFK Some anti afk bot which prevents you from getting punished for going afk in games. Gui mode coming soon... Installation Install Java 17. Downl

flasky 1 Jan 13, 2022
CRUD operation using java springboot microservice hosted in kubernetes env, data stored in mongodb

springboot-mongodb-k8s-parth Brief Introduction Hello Friends, I have created REST API using Springboot and Spring cloud application which performs CR

Parth Shah 1 Nov 11, 2021
This is a little self hosted shared planner application server.

VPR-Backend This project includes the backend for the VPR-project. Installation and Getting Started To run the server you first have to install a MySQ

Marc Beyer 2 Feb 5, 2022
Self-hosted Git Server with CI/CD and Kanban

NOTE: We develop OneDev at code.onedev.io for sake of dogfooding. All issues and pull requests should be submitted there Self-hosted Git Server with K

OneDev 10.5k Dec 31, 2022
Simple Cordova plugin to save a pdf file in MediaStore.Downloads

com-thesis-plugins-pdfstore This simple Cordova plugin saves a bytestring (the byte image of a pdf) to a pdf file in MediaStore.Downloads. The purpose

Alberto Ferrari 2 Feb 2, 2022
Save local logcat via Java wiithout root

Save Logcat Android Simple way to save local logcat via Java wiithout root. It does not save full logcat from device, just only from the app. Save log

Menu Modder 5 Jun 30, 2022
Undo Rotate Crop Save

URCS_app Undo Rotate Crop Save The following project has these functionalities: Has 2 windows namely HOME and EDIT(fragments of MainActivity) HOME win

Utkarsh Sharma 1 Jan 23, 2022
Rate limiting private REST APIs using Java Spring-boot, spring-security and bucket4j

Rate limiting REST APIs using Spring-security filter and Bucket4J Deployed Application (Swagger-ui on heroku) Inspired from: Baeldung Article Applicat

null 20 Jul 18, 2022
A private messenger for Android.

Signal Android Signal is a messaging app for simple private communication with friends. Signal uses your phone's data connection (WiFi/3G/4G) to commu

Signal 23.2k Jan 7, 2023
This repository contains the code for the Runescape private server project, and this repo is soley maintained by @Avanae and @ThePolyphia and @Xeveral

Runescape: The private server project. A Runescape private server based on the 2009 era. This repository contains the code for the Runescape private s

ProjectArchitecture 4 Oct 1, 2022
first open-source brawl stars private server written in java!

Java-Brawl first open-source brawl stars private server written in java! (and first open-source v23 private server!) some stuff you should read thank

HaccerCat 11 Dec 27, 2022
Kryptokrona Java SDK for building decentralized private communication and payment systems.

Kryptokrona Java SDK Kryptokrona is a decentralized blockchain from the Nordic based on CryptoNote, which forms the basis for Monero, among others. Cr

null 22 Oct 31, 2022
GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes.

GreenMail GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes. Supports SMTP, POP3, IMAP with SSL

null 529 Dec 28, 2022
Projeto básico de como utilizar Spring Boot enviando email via GMail

Projeto de Envio de Email Projeto simples utilizando Spring Boot para enviar email utilizando contas do Gmail. Vídeo: https://youtu.be/so3nq5NapHA Pré

null 2 Sep 22, 2022
A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

GupShup About App It is a free online chat android application, enabling user to create a free user account and then log in using the credentials. Aft

Ratik Tiwari 1 May 22, 2022
Catogram - Experimental telegram client based on official Android sources

Catogram Experimental telegram client based on official Android sources Features: Message translator TGX Style of context menu VKUI Icons and inbuilt

null 188 Dec 17, 2022