Hi all,
This little tutorial explains you how to run your own email
infrastructure for family and friends, without paying a dime.
No email privacy provider accounts required.
No own Domain required.
No VPS required.
No postfix set-up required.
No pop3,IMAP required.
Requirements:
1. Tor Expert Bundle -
https://www.torproject.org/download/tor/
2. OpenSSL -
https://slproweb.com/products/Win32OpenSSL.html>
3. Mini Mailer -
https://github.com/Ch1ffr3punk/mmg
4. smtpdump -
https://github.com/Ch1ffr3punk/smtpdump
Step 1. First we create a Tor Hidden Service. For that go in your
tor.exe folder and edit the torrc file and put two lines
in it:
HiddenServiceDir C:/Users/xxxxxx/Desktop/xxxxx/tor/hidden_service/
HiddenServicePort 2525 127.0.0.1:2525
Restart tor.exe and you will find a hostname file with the
.onion URL in your hidden_service folder.
Step 2. Create TLS certificates for smtpdump:
openssl req -nodes -new -x509 -keyout key.pem -out cert.pem
Step 3. Run smtpdump.exe with the following parameters:
C:\Users\xxxxx\Desktop>smtpdump -debug -cert keys/cert.pem -key keys/key.pem -tls13 -output inbox
Where, in this case, the keys folder contains the certs and the
inbox folder is for incomming emails.
Step 4. Configure Mini Mailer.
For each family member or friend, co-worker etc. you have to create
a config file and a template.
A config file may look like this:
SMTP Host fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion
SMTP Port 2525
SOCKS5 Port 9050
A template may look like this:
From:
pollux@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion
To:
castor@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion
Subject: whatever
Your message goes here.
Step 5. Sample Session output from smtpdump:
C:\Users\xxxxx\Desktop>smtpdump -debug -cert keys/cert.pem -key keys/key.pem -tls13 -output inbox
2025/05/18 21:29:26 Enabled TLS support
2025/05/18 21:29:26 Minimum TLSv1.3 accepted
2025/05/18 21:29:26 Listening on "127.0.0.1:2525" ...
220 iria SMTPDump ESMTP Service ready
EHLO localhost
250-iria greets localhost
250-SIZE 0
250-STARTTLS
250-AUTH CRAM-MD5
250 ENHANCEDSTATUSCODES
STARTTLS
220 2.0.0 Ready to start TLS
EHLO localhost
250-iria greets localhost
250-SIZE 0
250-AUTH CRAM-MD5 LOGIN PLAIN
250 ENHANCEDSTATUSCODES
MAIL FROM:<
pollux@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion>
250 2.1.0 Ok
RCPT TO:<
castor@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion>
2025/05/18 21:32:17 [RCPT] "
pollux@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion" => "
castor@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion"
250 2.1.5 Ok
DATA
354 Start mail input; end with <CR><LF>.<CR><LF>
250 2.0.0 Ok: queued
2025/05/18 21:32:18 Received mail from "
pollux@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion" with subject "äöüÄÖÜ߀"
2025/05/18 21:32:18 Wrote "inbox\\1747596738506159900_-3952053490517768965.eml"
QUIT
221 2.0.0 iria SMTPDump ESMTP Service closing transmission channel
The received email looks like this:
Received: from localhost (kubernetes.docker.internal. [127.0.0.1])
by iria (SMTPDump) with SMTP
for <
castor@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion>; Sun, 18 May 2025 21:32:18 +0200 (CEST)
From:
pollux@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion
To:
castor@fswlpxkp6xdrwrcu3dmby4lwv4z22bep32s3f3ffrua3x4bmvdyhg2ad.onion Subject: äöüÄÖÜ߀
Message-ID: <
myj85zmjpi.1747596734@jcdui.nd>
Date: Sun, 18 May 2025 19:32:14 +0000
Hello World! :-)
As you see, no MIME headers for international characters are needed.
Step 6. You now have successfully set-up your own email
service, which is online as long as you do not power-off your PC.
This way you can be reached, once you come home from school/work.
If you have a spare Raspberry Pi you can run your own service
24/7 and ssh into the machine.
Hope you like this little tutorial and find it useful!
Best regards
Stefan
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)