Notice: I am transitioning the name of this project from OrigamiSMTP to Origami Mail. This project will now be found at https://github.com/OrigamiMail. I am going to be refactoring some of the application to make it so components can be swapped out in order to create a pro version.
Origami Mail is a fake SMTP with TLS support as it's primary goal.
This project has an installer for Windows and Debian based linux systems. I am working on getting a AppImage done. Right now there is a runnable jar file you can get from the official website.
How to Help the Project
There is several ways to help this project. If you know how to code Java consider contributing. If not consider making a dontation.
If you think you found a bug then report an issue. If you would like a custom feature make a suggestion and if you really want a feature we can work something out.
This server requires:
Starting the Server
To start the server run the following from the terminal or command line. (Linux and Mac users may need to change the semicolon to a colon in the classpath)
java -jar OrigamiSMTP-2.0.0.jar
If you want to specify the port use the --port or -p parameter
java -jar OrigamiSMTP-2.0.0.jar --port 2560
java -cp .\OrigamiSMTP\lib\*;OrigamiSMTP-2.0.0.jar com.pessetto.origamismtp.OrigamiSMTP
The default port is 2525 but you can use whatever port you wish using the port parameter (-p or --p)
java -cp .\OrigamiSMTP\lib\*;OrigamiSMTP-2.0.0.jar com.pessetto.origamismtp.OrigamiSMTP -p 2560
Working with STARTLS
Since this service requires some custom configuration, you will have to load the Origami CA Certificate into your Trusted Root Store. If you are unsure how to do this on Windows follow this guide. You will have to do this on other operating systems too but at this time we have no guides provided.
Next make sure your SMTP settings set the host to localhost and not the IP address 127.0.0.1 or the validation may fail, notably in C#.
You may have to download the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8. This extension may be restricted in some countries and may have export controls enforced by the United State Government. Since we do not have the funds for legal council this file must be downloaded from the link provided. Follow the instructions in README.txt to install.
To use Swaks to debug you will need Perl installed. To do this on Windows I suggest using Windows Subsystem for Linux (WSL). I use the Ubuntu releases from the Windows store. After downloading Swaks the following command can be used for testing:
swaks.pl -t email@example.com -f firstname.lastname@example.org -s localhost -p 2525 -tls --tls-verify --tls-ca-path /path/to/origami/ca.crt
To use OpenSSL s_client to try and debug use the following command
openssl s_client -connect localhost:2525 -starttls smtp
Previously 127.0.0.1 was used in place of localhost so it may validate correctly now but has not been tested.
- When working in Eclipse it is recommended to set the VM arguments to -Djavax.net.debug=ssl,handshake
- You can use openssl to help you debug
- You can use Swaks to help debug
Contributing is simple just fork this on GitHub and then send a pull request.