Coder Social home page Coder Social logo

mailnesia.com's Introduction

mailnesia.com - Anonymous Email in Seconds

Mailnesia is a fully featured disposable email provider. Just like a real email service but without any password or the ability to send mail. Features at a glance:

  • Automatically visits registration/activation links in emails, completing any registration process instantly
  • Alternate mailbox names (aliases) for extra anonymity, use any name you want
  • Alternative domain names (all mail is accepted regardless of domain name)
  • Displaying HTML emails correctly including attached images, files
  • Multiple encodings supported: Chinese, Japanese, Korean, Russian etc
  • RSS feed for every mailbox
  • New emails appear as they arrive, without needing to refresh the page
  • Fast, easy to use interface
  • Translated to 10+ languages

This repository contains the source code of Mailnesia. What it includes:

  • The website including everything: images, CSS, JavaScript etc
  • The email receiving server
  • Additional utilities for maintenance, testing etc
  • How to set up the SQL tables

What is not included:

  • Configuration for web server, database server or any other external utility
  • Scripts to start and monitor the website/RSS/email server processes

Architecture overview

Mailnesia is made with the perl programming language. It runs on Debian GNU/Linux. Nginx is used as web server, PostgreSQL as database server. Redis in-memory key storage server is used to store banned email addresses and IP's and other settings.

  • Custom SMTP server implemented in perl using AnyEvent::SMTP. Event based, using only one thread.
  • Website implemented using Mojolicious, powered by Nginx web server.
  • Emails are stored in a PostgreSQL database
  • Hosted on a virtual private server with SSD storage

The email server sends all received emails to several URL clicker processes using ZeroMQ to offload the email body processing which is somewhat CPU intensive.

Requirements and installation

Required Perl modules with versions are listed in the file 'cpanfile'.

Installation

Some modules might require compilation of C source code; these packages will take care of that on Debian 9 (Stretch):

apt-get install autotools-dev g++ gcc dpkg-dev cpp fakeroot gdbserver libalgorithm-merge-perl libalgorithm-diff-xs-perl libalgorithm-diff-perl libdpkg-perl libltdl-dev libltdl7 libpython2.6 python2.6 libreadline6 libsqlite3-0 m4 make manpages-dev patch python2.6-minimal g++-4.4 libstdc++6-4.4-dev gcc-4.4 binutils cpp-4.4 libc6-dev libc-dev-bin libmpfr4 libgmp3c2 libgomp1 linux-libc-dev

On Debian 11 (Bullseye):

apt-get update && apt-get install libzmq5 openssl libssl-dev zlib1g-dev autotools-dev g++ gcc dpkg-dev libdpkg-perl libltdl-dev libltdl7 libsqlite3-0 m4 make patch gcc-10 binutils cpp-10 libc6-dev libc-dev-bin libgomp1 linux-libc-dev libreadline8 cpanminus libpq-dev

The required Perl modules can be installed with the cpanm script. Install all requirements into a directory, for example ~/perl5:

cpanm --installdeps /directory/where/you/cloned/mailnesia.com/ --local-lib-contained ~/perl5/ --skip-satisfied

The path lib/perl5 under this chosen directory must be exported and used by each application, so they load their dependencies from it:

export PERL5LIB=~/perl5/lib/perl5

Setting up Redis

In /etc/redis/redis.conf:

Port 0
unixsocket /var/run/redis/redis.sock
unixsocketperm 777

Setting up PostgreSQL

Using password-less "trust" authentication for mailnesia PSQL user

This applies only if clients connect locally on UNIX sockets. In pg_hba.conf, after "Put your actual configuration here" but before the local and host configurations:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   mailnesia   mailnesia                         trust

Create mailnesia user / database

  1. as root:
su postgres
cd
createuser --superuser mailnesia
  1. createdb mailnesia
  2. as any user:
psql -U mailnesia

Create tables

Execute tools/psql-create-tables.sh to create all necessary tables and relations. The script also contains some documentation.

Translation

The script tools/translation.py is used to download the Google spreadsheet containing the translations.

How to contribute to a project without knowing a damn bit about it

https://domm.plix.at/perl/2013_09_open_source_plus_plus_contribute_without_knowing.html

Compressing CSS and JavaScript

Minifying is done with yui-compressor. This code snippet will automatically compress .js and .css files in the project directory upon save in Emacs.

(add-hook
 'after-save-hook
 (lambda ()
   (dolist (element '(
                      "/directory/containing/project/mailnesia.com/website/js/javascript.js"
                      "/directory/containing/project/mailnesia.com/website/css/style.css"
                      ))
     (when
         (string= buffer-file-name element)
       (save-window-excursion
         (shell-command (concat "yui-compressor -o " (replace-regexp-in-string "\\.\\([a-z]\\{2,3\\}\\)$" "-min.\\1" element ) " " element " &>/dev/null &"))
         )
       )
     )
   )
 )

Testing

Test running website and mail server by sending test emails: tools/test-mailnesia.pl

Execute function tests under t/ (these don't require the website to be up): prove

mailnesia.com's People

Contributors

gilwyad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mailnesia.com's Issues

mailnesia down... !!!

If I send an Email from my private Mail Account (google) I get this Error:
Delivery to the following recipient failed permanently:

[email protected]
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain mailnesia.com by mailnesia.com. [162.250.144.109].

The error that the other server returned was:
500 Internal Server Error

Can someone help me to solve this?

Connection Time problem

Hi Gilwyad, I also have problem, connection time out from about 2 days and still can't to connect.
Can you help ? Thanks.

STARTTLS support

Please consider adding STARTTLS support to the SMTP server. Without it, all email traffic will (have to) be sent without encryption, which makes it possible for 3rd parties with network access to read and modify email content, before it gets delivered. Just like https:// on a website, STARTTLS should be mandatory for every email service.

Got hacked.

Some hacker hacked my email and used a @mailnesia.com email as a recovery address. Completely stole my account and all my accounts associated to that email..

Remove all Google+ web integrations

Google has announced that Google+ for consumers will be sunset. As part of the sunset, all Google+ web integrations will stop serving on March 7, 2019. This has the potential to affect website layouts and/or functionality if no action is taken by website owners.

Developers are strongly advised to remove related code from their websites as soon as possible.

Recommended action:
Remove all integration with Google+

Find and remove all references to Google+ integrations. Some examples include buttons (such as +1 buttons, Follow buttons, Hangouts buttons, and share buttons), badges, and interactive posts.

ERR_CONNECTION_TIMED_OUT

Hello,
From 10 hours it's that problem.
Mailnesia doesn't work.
Can you check ?
Thanks a lot.

new keyword

hello, please add "email_validation" to the keywords

drop HTML::Template

The main page should not be generated with HTML::Template but with the templating system of Mojolicious.

Unable to view email

When I click on a received email, I get

Error! HTTP 500 Internal Server Error

Can't access instagram

I used a mailnesia domain for my instagram, and now i've had to reset my password, but can't get the email because mailnesia is down. And has been down for nearly a week :/ Is it going to be gone forever?

edit: actually, the website i just used to check if it was down says its been down for 3 months--so again, is it gone forever??

Captcha

We cannot use more than 20 mailbox per day because the Captcha plugin is outdated. It says that the plugin is v1, but it is required to have v2 in order to work.

Responsive design for mobile users

More of a feature request than an issue:
Visiting the Mailnesia site on a mobile device just shows the usual desktop version, where lots of zooming in and scrolling is needed to use it.

Can you please create a responsive design version?

Migrate reCAPTCHA v1 to a current version of reCAPTCHA

reCAPTCHA v1 will be turned off on March 31, 2018.

We announced the reCAPTCHA v1 deprecation in May 2016. Starting in November 2017, a small percentage of reCAPTCHA v1 traffic will begin to show a notice informing users that the old API will soon be retired. Any calls to the v1 API will not work after March 31, 2018.

To ensure continued functionality, you’ll need to update your website to a current version of reCAPTCHA. You can learn more about reCAPTCHA v2, Invisible reCAPTCHA and reCAPTCHA Android API in our Developer’s Guide. The new APIs are simple to implement and will streamline the captcha experience for your users. If you need help, you can engage in the reCAPTCHA Google Developer Group or post to Stack Overflow with the ‘recaptcha’ tag.

Font size on the site

Hello,
I was thinking if it would be possible to increase the font size on the site. Something like 16px?

Thank you

Order of the languages

It would be nice, if possible, place the languages in alphabetical order, both on the site and in Google Docs. Thank you.

mailnesia.com: 500 Internal Server Error

If I send an Email from my private Mail Account (google) I get this Error:
Delivery to the following recipient failed permanently:

[email protected]
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain mailnesia.com by mailnesia.com. [162.250.144.109].

The error that the other server returned was:
500 Internal Server Error

Can someone help me to solve this?

Problem with Microsoft verification codes

We cannot receive Microsoft account verification codes on the mailbox. I even contacted the Microsoft support and told them this problem and they responded that the problem is not from their side and maybe Mailnesia system treats their email as spam or something else. Please fix this problem, this is my issue as well as a lot of other Microsoft users who used this mailbox as their security email like me.

drop CGI::RSS

It made sense to use this module when the website used CGI but that is no longer the case. It would be good to use something else so there would be no dependency on CGI.

Modify "mailto:" with alias and domain

I suggest adding an option change to the "mailto:" link on /mailbox, as it would be quite convenient.

This could be done with an additional field in /settings, next to every alias input, and a radio button to specify main link address. Settings menu for an example mailbox called "735randomname", could look something like this:

○ 735randomname@mailnesia.com (Default)
◉ [ janedoe   ] [ alt-dom.com ] [ Ok ] [ Delete ]
○ [ johndoe    ] [         ] [ Ok ] [ Delete ]

No source IP in original mail, can't report them on spamcop

I report spams to spamcop.net. It works on spams sent to gmail and others. But, copy pasting original mail from mailnesia to spamcop, it does not work, can't report.

Spamcop says there is no source IP address in the original mail.
image

The header is not sufficient like below:
image

Is there any way to fix this? I am asking because reporting on spamcop works and spams are blocked by source mail server.

Emails don't come in

i haven't been recieving a password reset for my PSN Acc like I'm suppose to they came in before but not now

Site go down :(

Dear Bro,
Mailnesia site is very, very helpful for me with registration and others like that.
Please check what is wrong. If you need any money for domain or server I can help with these.
Regards.

The server running Mailnesia will be decommissioned on 2018/01/10 - anyone still want to keep it going?

I got word from the hosting company Prometeus that the server running Mailnesia will be decommissioned on 2018/01/10. I have to relocate the service to a different server/hosting provider. Problem is, I'm getting tired working on this project which is just a hobby for me, takes a lot of time and gives absolutely no reward/benefit/income. Possible alternatives:

  • the site goes down permanently on 2018/01/10
  • I relocate to a different provider and
    • introduce advertisments
    • and/or introduce donations with bitcoin, paypal

Any ideas?

Disable mailbox

There should be a way to enable/disable incoming mail in a mailbox, like how the clicker can be toggled.
Simplest solution: one checkbox.
Other possible solutions: enable incoming mail for a set period of time, for example 10 minutes, 1 hour, 1 day, 1 week, 1 month. After which incoming mail is rejected.

Delete all mail icon returns error 500

As the title states, I click on the delete all mail icon to delete the mail, click the followup "YES delete them!" button, and the button changes to "HTTP ERROR 500" with the email not being deleted.

Cant receive any Email

If I send an Email from my private Mail Account (google) I get this Error:
Delivery to the following recipient failed permanently:

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain mailnesia.com by mailnesia.com. [162.250.144.109].

The error that the other server returned was:
500 Internal Server Error

Can someone help me to solve this?

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.