Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
com.pessetto.origamismtp:OrigamiSMTP
Advanced tools
A TLS Enabled Fake SMTP Server for Development https://travispessetto.github.io/OrigamiSMTP
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.
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:
Development Requires:
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)
Prefered Way:
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
Another Way:
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
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 john.doe@example.com -f jane.doe@example.com -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.
Contributing is simple just fork this on GitHub and then send a pull request.
FAQs
A TLS Enabled Fake SMTP Server for Development https://travispessetto.github.io/OrigamiSMTP
We found that com.pessetto.origamismtp:OrigamiSMTP demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.