top of page


Public·27 members

Download GreenMail and Get Started with Email Testing in Minutes

GreenMail Download: How to Test Email-Based Applications with a Virtual Mail Server

If you are a developer who works with email-based applications, services or systems, you know how important it is to test them thoroughly before deploying them to production. However, testing email functionality can be challenging, especially if you don't have access to a live mail server or you don't want to send real emails to real recipients. That's where GreenMail comes in handy.

greenmail download


What is GreenMail and why do you need it?

GreenMail is an intuitive and easy-to-use test suite of email servers for testing purposes. It allows you to send, receive, and verify emails by embedding it in a unit test or running it as a standalone container. GreenMail acts as a virtual (mocking/sandbox) mail server and supports common mail protocols such as SMTP, POP3, IMAP with SSL socket support. It also provides configurable user accounts and credentials, so you can simulate different scenarios and cases.

GreenMail features and benefits

Some of the main features and benefits of using GreenMail are:

  • It is 100% Java-based, so it can run on any platform that supports Java.

  • It is open source and free to use under the Apache License V2.0.

  • It is easy to integrate with popular testing frameworks such as JUnit, TestNG, Spring, etc.

  • It is lightweight and fast, so it does not consume much resources or affect the performance of your application.

  • It is reliable and secure, so you don't have to worry about spamming, phishing, or data leakage.

GreenMail supported protocols and standards

GreenMail supports the following protocols and standards:

  • SMTP (Simple Mail Transfer Protocol) for sending emails.

  • POP3 (Post Office Protocol) for retrieving emails from a server.

  • IMAP (Internet Message Access Protocol) for accessing and managing emails on a server.

  • SSL (Secure Sockets Layer) for encrypting the communication between the client and the server.

  • Jakarta Mail (formerly JavaMail) for providing a platform-independent and protocol-independent framework for sending and receiving emails.

How to download and install GreenMail

Download options and requirements

You can download GreenMail from various sources, depending on your preference and needs. The most common options are:

greenmail download sourceforge

greenmail download github

greenmail download release

greenmail download maven

greenmail download jar

greenmail download docker

greenmail download site

greenmail download example

greenmail download javadoc

greenmail download faq

greenmail test suite download

greenmail email server download

greenmail smtp server download

greenmail imap server download

greenmail pop3 server download

greenmail ssl support download

greenmail user accounts download

greenmail credentials download

greenmail java mail download

greenmail jakarta mail download

greenmail spring integration download

greenmail junit integration download

greenmail webapp integration download

greenmail client integration download

greenmail standalone integration download

greenmail mock mail server download

greenmail sandbox mail server download

greenmail virtual mail server download

greenmail email testing tool download

greenmail email verification tool download

greenmail email development tool download

greenmail email simulation tool download

greenmail email debugging tool download

greenmail email mocking tool download

how to download and install greenmail

how to use greenmail in java project

how to configure greenmail in spring boot application

how to run greenmail as a docker container

how to build greenmail from source code

how to generate maven site for greenmail project

how to deploy a release of greenmail project

how to contribute to greenmail project on github

how to report issues and bugs for greenmail project

how to access the web interface of greenmail server

how to send and receive emails using greenmail server

how to verify emails using greenmail api

how to create and delete users using greenmail api

how to enable and disable ssl using greenmail api

how to set custom ports using greenmail api

The official website: [1](

The GitHub repository: [2](

  • The Maven Central repository: com.icegreen:greenmail:

The latest version of GreenMail at the time of writing this article is 2.1.0-alpha-1, which is based on Jakarta Mail 2.1 / Jakarta EE 10. However, you can also use older versions that are compatible with different versions of JavaMail or Jakarta Mail.

To run GreenMail, you need to have Java 11 or higher installed on your system. You also need to have Maven 3.8 or higher if you want to build GreenMail from source or use it as a Maven dependency.

Installation steps and configuration

The installation steps vary depending on how you want to use GreenMail. Here are some common scenarios:



  • Embedding GreenMail in a unit testAdd GreenMail as a Maven dependency in your pom.xml file.

  • Create a GreenMail instance with the desired configuration (e.g. port, user, password, etc.) in your test class.

  • Start and stop the GreenMail server in the @Before and @After methods of your test class.

  • Use the GreenMail API to send, receive, and verify emails in your test methods.

  • Running GreenMail as a standalone containerDownload the greenmail-standalone-.jar file from the official website or GitHub repository.

  • Run the jar file with the java -jar command and specify the desired options (e.g. port, user, password, etc.).

  • Use an email client (e.g. Thunderbird, Outlook, etc.) or a web browser to connect to the GreenMail server and send, receive, and verify emails.

  • Using GreenMail as a Docker imagePull the greenmail/standalone image from the Docker Hub repository.

  • Run the image with the docker run command and specify the desired options (e.g. port, user, password, etc.).

  • Use an email client (e.g. Thunderbird, Outlook, etc.) or a web browser to connect to the GreenMail server and send, receive, and verify emails.

How to use GreenMail for testing email-based applications

Once you have installed and configured GreenMail, you can use it for testing various aspects of your email-based applications. Here are some examples of how to use GreenMail for different purposes:

Embedding GreenMail in a unit test

If you want to test your email functionality in isolation from other components or dependencies, you can embed GreenMail in a unit test and use it as a mocking or stubbing tool. For example, you can use GreenMail to test how your application sends an email confirmation after a user registration or how it handles an incoming email request. Here is a sample code snippet that shows how to embed GreenMail in a JUnit test:

import com.icegreen.greenmail.junit5.GreenMailExtension; import com.icegreen.greenmail.util.GreenMailUtil; import com.icegreen.greenmail.util.ServerSetupTest; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import javax.mail.internet.MimeMessage; import static org.junit.jupiter.api.Assertions.assertEquals; public class EmailTest // Create a GreenMail extension with SMTP and IMAP support @RegisterExtension static GreenMailExtension greenMail = new GreenMailExtension(ServerSetupTest.SMTP_IMAP); @Test public void testSendAndReceiveEmail() throws Exception // Define the sender and receiver addresses String sender = ""; String receiver = ""; // Send an email using GreenMail's utility method GreenMailUtil.sendTextEmailTest(receiver, sender, "Hello", "This is a test email"); // Wait for the email to arrive greenMail.waitForIncomingEmail(1); // Retrieve the email using IMAP MimeMessage[] messages = greenMail.getReceivedMessages(); // Verify the email content assertEquals(1, messages.length); assertEquals("Hello", messages[0].getSubject()); assertEquals("This is a test email", GreenMailUtil.getBody(messages[0]));

Running GreenMail as a standalone container

If you want to test your email functionality in integration with other components or dependencies, you can run GreenMail as a standalone container and use it as a sandbox or simulator tool. For example, you can use GreenMail to test how your application interacts with an external mail server or how it handles different mail protocols. Here is a sample command that shows how to run GreenMail as a standalone container:

java -jar greenmail-standalone-2.1.0-alpha-1.jar -Dgreenmail.setup.test.all, -Dgreenmail.verbose

This command will start a GreenMail server with SMTP, POP3, IMAP and SSL support on the default ports. It will also create two user accounts: with password pwd1 and with password pwd2. It will also enable verbose logging for debugging purposes.

You can You can then use an email client (e.g. Thunderbird, Outlook, etc.) or a web browser to connect to the GreenMail server and send, receive, and veri


Welcome to the group! You can connect with other members, ge...
bottom of page