GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes.

Overview

GreenMail

GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes. Supports SMTP, POP3, IMAP with SSL socket support, and can be run either embedded in a junit test, as a standalone Java application or as a docker container. GreenMail is the first and only library that offers a test framework for both receiving and retrieving emails from Java.

Go to the project site for details:

Containerized integration of GreenMail with various web mail clients can be found in the separate GreenMail Client Integrations project.

The GreenMail project welcomes any contribution, so go ahead and fork/open a pull request! See the guidelines below.

Development Build status Maven Central StackOverflow Docker Pulls javadoc

  • Build GreenMail from source

    mvn clean install -Pdocker

    Make sure you got Maven 3.6 or higher, and run a JDK 8 or newer. If you want to skip building the docker image, leave out the -Pdocker profile option.

    If you want to skip the long running tests, use the Maven option -DskipITs .

  • Build the Maven site (and the optional example report)

    mvn site -Psite

  • Build and deploy a release

    For rolling a release including version increment and release upload, do

    mvn clean release:prepare -Prelease,release-ossrh,docker,docker-tag-latest mvn release:perform -Prelease,release-ossrh,docker,docker-tag-latest

    For a tagged release and deployment to Sonatype OpenSource Repository Hosting and later syncing to Maven Central, do

    mvn clean deploy -Prelease,release-ossrh,docker,docker-tag-latest

    Note: Do only use docker-tag-latest profile if you really want the tag latest, e.g. for newest release of highest version.

  • Build and deploy a snapshot

    For a Maven Snapshot deployment to Sonatype, do

    mvn clean deploy -Prelease-ossrh,docker

  • Check Sonar report

Roadmap

Contribution guidelines

We really appreciate your contribution! To make it easier for integrating your contribution, have a look at the following guidelines.

Be concise

Try to keep your changes focused. Please avoid (major) refactorings and avoid re-formatting existing code. A good check is looking at the diff of the your pull requrest. Also, please refer to the open issue you're fixing by including a reference in your commit message.

Code formatter

Please set your code formatter to use 4 spaces for indentation of Java files (not tabs) and to two spaces for xml files (like the pom.xml). As a general best practise, your contribution should adhere to existing code style.

Bill of Materials

We have the pom.xml in the root where we set the versions of all dependencies to keep them consistent among subprojects. Please do not add any version tags into the child pom.xml files.

Please also do not introduce new dependencies as we try to keep these to a minimum. If you think you require a new dependencies or dependency update, discuss this up front with committers.

Starting your pull request

The best strategy for opening a pull request after a fork is to add the this repository as the "upstream" to your .git/config such as:

[remote "upstream"]
url = https://github.com/greenmail-mail-test/greenmail.git
fetch = +refs/heads/*:refs/remotes/upstream/*

Then you fetch "upstream" and create a new branch at upstream/master (name it issue-XXX or something like that). Now you can add commits on that branch and then create a pull request for that branch (after pushing it to your github). That way commits are isolated for one feature.

Tests for your pull request

Please also create a test for every feature you add. We know that currently there aren't many tests but in the medium term we want to increase test coverage.

Misc

Many thanks to JProfiler and Jetbrains for supporting this project with free OSS licenses

Comments
  • Support search command 'OR'

    Support search command 'OR'

    Trying to read an email on imap server with the below code: (Search subject with either of two Strings)

    Store store = emailSession.getStore("imap");

    Folder emailFolder = store.getFolder("INBOX"); emailFolder.open(Folder.READ_ONLY); SearchTerm st = new OrTerm(new SubjectTerm("Request+:+NID"),new SubjectTerm("Request : NID")); Message[] messages = emailFolder.search(st); System.out.println("messages.length---" + messages.length);

    Messages.lenght is 0 and we see the below error in logs:

    Exception in logs: 1469955 WARN mands.SearchCommandParser| Ignoring not yet implemented search command 'OR' java.lang.IllegalArgumentException: No enum constant com.icegreen.greenmail.imap.commands.SearchKey.OR at java.lang.Enum.valueOf(Unknown Source) at com.icegreen.greenmail.imap.commands.SearchKey.valueOf(SearchKey.java:68) at com.icegreen.greenmail.imap.commands.SearchCommandParser.searchTerm(SearchCommandParser.java:87) at com.icegreen.greenmail.imap.commands.SearchCommand.doProcess(SearchCommand.java:53) at com.icegreen.greenmail.imap.commands.SearchCommand.doProcess(SearchCommand.java:41) at com.icegreen.greenmail.imap.commands.CommandTemplate.process(CommandTemplate.java:57) at com.icegreen.greenmail.imap.ImapRequestHandler.doProcessRequest(ImapRequestHandler.java:98) at com.icegreen.greenmail.imap.ImapRequestHandler.handleRequest(ImapRequestHandler.java:51) at com.icegreen.greenmail.imap.ImapHandler.run(ImapHandler.java:71) at com.icegreen.greenmail.server.AbstractServer$1.run(AbstractServer.java:163)

    enhancement 
    opened by sanjeev-addagarla 19
  • Support for JUnit 5

    Support for JUnit 5

    JUnit 5 does not support @Rule anymore: http://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4 Instead Greenmail should support an extension which implements the same behaviour as GreenMailRule.

    JUnit 5 requires Java 8, so at least the new extension must have the compile source 1.8.

    enhancement 
    opened by rweisleder 14
  • Add support for jakarta.mail 2.0

    Add support for jakarta.mail 2.0

    • Maven dependencies
    • Javadoc links (pom.xml)
    • Check release note for further actions Jakarta 2.0 has renamed the javax.mail packages to jakarta.mail along with some enhancements.
    enhancement 
    opened by uberskigeek 12
  • Support SMTP AUTH command with PLAIN mechanism

    Support SMTP AUTH command with PLAIN mechanism

    most SMTP clients will be written to authenticate a user over the connection.

    The EHLO command should return the fact that AUTH extension is supported. Example EHLO from yahoo below ehlo 127.0.0.1 250-smtp.mail.yahoo.com 250-PIPELINING 250-SIZE 41697280 250-8 BITMIME 250 AUTH PLAIN LOGIN XOAUTH2 XYMCOOKIE

    To start, it would be reasonable to just return, the following, indicating that the host supports username/password auth 250 AUTH PLAIN

    Then of course beyond modifying EHLO response, the actual AUTH command needs to be supported. the command is documented in https://tools.ietf.org/html/rfc4954

    Example auth command AUTH PLAIN dGVzdAB0ZXN0ADEyMzQ=

    The garbled text there is username/password concatenated with null delimiters and then encoded as base64. Ideally the server would then assert this is a user that was configured in GreenMail#setUser

    enhancement 
    opened by rjfioravanti 11
  • IMAP fails to fetch message when content type is text/html

    IMAP fails to fetch message when content type is text/html

    This code fails when content type is text/html in imap/commands/FetchCommand.java (handleBodyFetch):

    if (contentType.toLowerCase().startsWith("text/plain") && "1".equals(sectionSpecifier)) { handleBodyFetchForText(mimeMessage, partial, response); } else { MimeMultipart mp = (MimeMultipart) mimeMessage.getContent(); BodyPart part = null;

    Content in this case is a String and you get a class cast exception.

    bug 
    opened by granby 11
  • Allow Greenmail to have persistent storage

    Allow Greenmail to have persistent storage

    Greenmail is very fast and this is cool for embedding it into automated tests. Sometimes, we just want to have a mail server which is started on a server, and the SUT is sending all the mails to this mail server. Currently, when the mail server is Greenmail, after a restart, all the messages would be lost because Greenmail implements only a InMemoryStore.

    Is it possible to make the InMemoryStore configurable from outside and provide different implementations. I would like to contribute a FileMemoryStore which would then store all the mailboxes on the file system (location can be configured). This would make Greenmail a mail server which can be stopped and restarted without data loss.

    Is this something that is of interest?

    Thanks for any feedback. Cheers Michael

    opened by msaladin 11
  • Append Message is so slow

    Append Message is so slow

    Hi, I am new here, not sure why my code to append the MimeMessage into MailFolder is so slow? Basically, I first get a list of messages from the Gmail server, then I append these messages into MailFolder , then an email client may fetch them. The method I used is MailFolder.appendMessage(). Any ideas? Thx

    enhancement 
    opened by jupancs 10
  • Get/create user by login instead of mail address

    Get/create user by login instead of mail address

    The default implementation of MessageDeliveryHandler attempts to find a user by the mail address.

    For testing, it would be helpful if we could get the user by their login (AUTH) credentials instead. This way, as long as the SMTP connection with the username and password is configured correctly, all mails would be sent to the same inbox, irrespective of the recipient's mail address.

    From a quick look at the code, I think the easiest way to enable this might be to add the login information to MovingMessage. Then we can set our own MessageDeliveryHandler to implement the mapping from the login to a user.

    If you're open for PRs, I'd be happy to take a look at this.

    enhancement backport_1_6_x 
    opened by blutorange 9
  • waitForIncomingEmail and CC/BCC

    waitForIncomingEmail and CC/BCC

    I'm trying to write a test to check that 100 emails will be sent, however the software under test test to send the emails using the BCC field, so it might send 10 mails with 10 addresses BCCed each. The exact manner in which the emails are batched I don't care about and so don't want to write into my test, I just want to check that I get all 100 emails sent at the end of the day. Calling getReceivedMessages() reports that there are indeed the expected 100 messages if I wait long enough, however, waitForEmailsRecieved() seems to not be usable for this wait as it considers an email with 10 BCCs as a single email, and I don't know exactly how the emails will be batched in advance. Is there some way of waiting for a set number of received messages as per the getReceivedMessages() call rather than using waitForEmailsRecieved()?

    invalid 
    opened by keirlawson 9
  • IllegalStateException while delivering a message via user

    IllegalStateException while delivering a message via user

    Build Number- 1.5.0

    I was using user.deliver(message); to deliver message to the mail box and received following exception. Cause: java.lang.NullPointerException java.lang.IllegalStateException: Can not deliver javax.mail.internet.MimeMessage@b98a4 for user UserImpl{email='prateek@test', login='prateek@test'}

    Digging further in I found that Folder INBOX did not exist for this user prateek@test While now if I try deleting this user, it says NoSuchFolderExistsException INBOX. What I believe is when I ask green mail to register user it does not do it properly but returns a user which is useless.

    I found a work around to this but still needs to fix this asap.

    opened by sameepsi 9
  • GreenMail web interface

    GreenMail web interface

    Hi,

    there is any web interface to use GreenMail ? for example to list all users on a server ? I see there is a greenamil-site directory. how to use it ?

    thanks, Regards

    opened by cgaulay 9
  • Cannot use Greenmail with Spring Boot 3

    Cannot use Greenmail with Spring Boot 3

    Hi all,

    I'm currently affected by this issue: https://github.com/spring-projects/spring-boot/issues/33452

    I also have this problem with Spring Boot 3 and Greenmail, but I'm using Greenmail Alpha 3, and the only dependency I have depending on com.sun.activation:jakarta.activation:2.0.1 is Greenmail:

    +--- com.icegreen:greenmail-junit5:2.0.0-alpha-3
    |    +--- com.icegreen:greenmail:2.0.0-alpha-3
    |    |    +--- com.sun.mail:jakarta.mail:2.0.1
    |    |    |    \--- com.sun.activation:jakarta.activation:2.0.1
    |    |    +--- jakarta.activation:jakarta.activation-api:2.0.1 -> 2.1.0
    |    |    +--- org.slf4j:slf4j-api:1.7.36 -> 2.0.4
    |    |    \--- junit:junit:4.13.2 (*)
    |    \--- org.junit.jupiter:junit-jupiter-api:5.9.1 (*)
    

    Shouldn't Greenmail stop depending on this? (I thought that was the main reason to use Greenmail 2.0?)

    opened by bodiam 3
  • Issues with the quota implementation

    Issues with the quota implementation

    Issue #1

    The GETQUOTAROOT command is supposed to return a list of quota root and then each individual quota root definition.

    Thus given a mailbox "mybox" with a quota root of "someroot" attach to it the correct response for S01 GETQUOTAROOT mybox should be this.

    * QUOTAROOT mybox someroot
    * QUOTA someroot (STORAGE 10 1000)
    S01 OK completed
    

    However, greenmail is returning this instead.

    * QUOTAROOT mybox
    * QUOTA someroot (STORAGE 10 1000)
    S01 OK completed
    

    Reference: https://datatracker.ietf.org/doc/html/rfc2087#section-5.2

    Issue #2

    Further multiple mailboxes can point to the same quota root and generally subfolder point to the quota root of the parent folder.. Thus given that "mybox" has a quota root of "someroot" as above, requesting the quotaroot for a subfolder

    S01 GETQUOTAROOT mybox.folder
    

    Would return the same quota root as the parent folder. thus.

    * QUOTAROOT mybox.folder someroot
    * QUOTA someroot (STORAGE 10 1000)
    S01 OK completed
    

    Issue #3

    There is no way to remove a quota in Greenmail

    1. deleting the user does not remove the quota roots a) and recreating that user attaches to the existing root.
    2. deleting a folder with a quota root, does not delete the root
    3. unable to set a quota root to "clear it" (e.g. setting it's limit to 0 or -1) a) actually trying to set it to -1 immediately disconnects when the - is sent over the connection.

    (for automated tests it'd be nice to DELETE a quota root so things are reset for another test run).

    opened by urkle 1
  • Update to jakarta.mail-api 2.1.0

    Update to jakarta.mail-api 2.1.0

    This updates to jakarta mail api 2.1.0 and Eclipse Angus as the new API implementation.

    However this is not yet working... see https://github.com/eclipse-ee4j/angus-mail/issues/37

    opened by adamretter 2
  • Copy Messages Function wont work with Greenmail MimeMessage

    Copy Messages Function wont work with Greenmail MimeMessage

    I am attaching my piece of code at the end (Test.zip). This code fails at copymessages line pasted below with an exception.

    folderInbox.getMailFolder().copyMessages(receivedMessages, folderArchive.getMailFolder());

    Exception:-

    java.lang.ClassCastException: com.icegreen.greenmail.store.StoredMessage$UidAwareMimeMessage cannot be cast to com.sun.mail.imap.IMAPMessage at com.sun.mail.imap.Utility.toMessageSet(Utility.java:85) at com.sun.mail.imap.IMAPFolder.copymoveMessages(IMAPFolder.java:2109) at com.sun.mail.imap.IMAPFolder.copyMessages(IMAPFolder.java:2018) at de.tnt.innight.ttms.mail.CheckMailBoxServiceTest.read_EP_Results_With_New_Unprocessed_Email_To_Route_Mail_To_Archiv_Test(CheckMailBoxServiceTest.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at com.icegreen.greenmail.junit.GreenMailRule$1.evaluate(GreenMailRule.java:63) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

    Test.zip

    opened by ajayaviyyapu 2
  • Add a test for an email with UTF-8 subject

    Add a test for an email with UTF-8 subject

    This test is not "complete". I think it's not supposed to work as-is. You see I set the Subject header directly with some Unicode symbols in it (because I don't want them to be encoded). Java Mail is supposed to support that with the mail.mime.allowutf8 property set. That's missing from the test - I'm not sure how to correctly set it here. But in any case - even with it set, still the resulting subject contains ??? (at least in my own tests). Not sure if I'm doing something wrong or that's an issue in Greenmail.

    cc @marcelmay

    opened by boris-petrov 0
Releases(release-2.0.0-alpha-3)
  • release-2.0.0-alpha-3(Dec 31, 2022)

    2.0.0-alpha-3 is an update of the previous release 2.0.0-alpha-2 on the road towards 2.0.0.

    • Based on Jakarta Mail 2.0 (breaking change since 1.6!). GreenMail 2.0 requires JDK 8+ now, and used Jakarta Mail 2.0.x
    • This release contains many bugfixes and dependency updates, as included in (1.6.12)[https://github.com/greenmail-mail-test/greenmail/releases/tag/release-1.6.12].
    • The 'alpha' in the version is for minor potential API changes but not for stability regarding bugs.
      Both stable 1.6.x and 2.0.0-alpha-x releases share and succeed on the same test suites.

    Changes

    • Enhancements

      • #455 Provide docker image for M1 macbooks (arm64v8)
      • #421 Make certificate configurable
      • #449 Get/create user by login instead of mail address
      • #422 Support IMAP MOVE command
    • Bugfixes

      • #506 Quota resource invalid limit closes connection
      • #505 Delete QUOTA when deleting/recreating user
      • #498 IMAP BODYSTRUCTURE parse error with long, encoded filenames
      • #477 NPE in Utility.toMessageSet after MOVE command is issues
      • #486 Fix IMAP search keyword parsing
      • #478 Issue with encoding of from and to fields
      • #475 POP3 response not properly byte-stuffed
      • #460 Problems with unicode in sent message
      • #447 GreenMail ServerSetup should not set mail..localaddress to localhost by default
      • #445 MOVE command does not return CopyUID causing NullPointerException in jakarta.mail
      • #429 Yet another encoding problem (UTF-8 msg content)
      • #344 IllegalStateException because of a NPE (race issue when receiving mails)
      • #425 GreenMail server info: Replace java.vendor.version with java.runtime.version
      • #423 IMAP COPY response contains COPYUID UIDVALIDITY of source instead of target folder
    • Breaking changes

      • #459 Remove deprecated MailFolder#getUidNext()
      • #361 Migrate EOl-ed log4j12
    • Dependency updates

      • #509 Update jetty to 9.4.50.v20221201
      • #500 Switch and update docker openjdk base image
      • #490 Update jersey to 2.37
      • #489 Update org.junit.jupiter to 5.9.1
      • #487 Update log4j to 2.19
      • #426 Update slf4j to 1.7.36

    Download

    See Download instructions or use Maven Central with GAV coordinates com.icegreen:greenmail:2.0.0-alpha-3 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.12(Dec 23, 2022)

    This release contains bug fixes and dependency updates.

    • Bug fixes

      • #508 Quota resource invalid limit closes connection (backport)
      • #507 Delete QUOTA when deleting/recreating user (backport)
      • #499 IMAP BODYSTRUCTURE parse error with long, encoded filenames (backport)
    • Dependencies

      • #510 Update jetty to 9.4.50.v20221201 (backport)
      • #504 Update easymock to latest 5.x (backport)
      • #501 Switch and update docker openjdk base image (backport)

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.11...release-1.6.12

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.12 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.11(Oct 3, 2022)

    This release contains bug fixes and dependency updates.

    • Bug fixes

      • #491 NPE in Utility.toMessageSet after MOVE command
      • #485 IMAP search keyword parsing
      • #480 Encoding of from and to fields
      • #476 POP3 response not properly byte-stuffed
    • Dependencies

      • #494 Update jersey to 2.37
      • #493 Update org.junit.jupiter to 5.9.1
      • #492 Update jetty to 9.4.49.v20220914

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.10...release-1.6.11

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.11 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.10(Jul 30, 2022)

    This release contains noteably a unicode encoding fix and dependency updates.

    • Bug fixes

      • #470 Problems with unicode in sent message (backport)
    • Dependencies

      • #474 Update docker base image to openjdk:8u342-jre-slim-bullseye (backport) (greenmail standalone container)
      • #472 Update org.junit.jupiter to 5.9.0 (backport)
      • #471 Update assertj to 3.23.1 (test scope, backport)
      • #469 Update jersey to 2.36 (backport)
      • #468 Update jetty to 9.4.48.v20220622 (backport)

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.9...release-1.6.10

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.10 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.9(May 4, 2022)

    This release contains GreenMail standalone container support for additional ARM architecture and dependency updates.

    • Enhancements

      • #458 Provide docker image for M1 macbooks (arm64v8) (greenmail standalone container)
    • Dependencies

      • #457 Update container base image to openjdk:8u332-jre-slim-bullseye (greenmail standalone container)
      • #456 Update jetty to 9.4.46.v20220331

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.8...release-1.6.9

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.9 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.8(Apr 3, 2022)

    This release contains backports from 2.x and and bugfixes.

    • Enhancements

      • #451 Message Handler: Get/create user by login instead of mail address (backport #449)
      • #454 Make certificate configurable (backport #421)
    • Bugfixes

      • #452 GreenMail ServerSetup should not set mail..localaddress to localhost by default (backport #447)

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.7...release-1.6.8

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.8 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.7(Mar 3, 2022)

    This release contains minor bug fixes and minor dependency updates.

    • Bugfixes
      • #446 MOVE command does not return CopyUID causing NullPointerException in jakarta.mail (backport #445)

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.6...release-1.6.7

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.7 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.6(Feb 23, 2022)

    This release contains bug fixes and minor dependency updates.

    • Enhancements

      • #436 Support IMAP MOVE command (backport #422)
    • Bugfixes

      • #444 POP3: Yet another encoding problem (backport #429)
      • #439 GreenMail server info: Replace java.vendor.version with java.runtime.version (backport #425)
      • #437 IMAP COPY response contains COPYUID UIDVALIDITY of source instead of target folder (backport #423)
      • #432 llegalStateException because of a NPE when receiving mail (backport #344)
    • Dependency updates

      • #442 Update easymock to 4.3 (backport #428)
      • #441 Update assertj to 3.22.0 (backport #427)
      • #440 Update slf4j to 1.7.36 (backport #426)
      • #438 Update container base image to openjdk:8u322-jre-slim-buster (backport #424)
      • #435 Update jetty to 9.4.45.v20220203 (backport #417)
      • #434 Update junit5 to 5.8.2 (backport #416)
      • #433 Update jersey to 2.35 (backport #415)

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed and full changelog https://github.com/greenmail-mail-test/greenmail/compare/release-1.6.5...release-1.6.6

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.6 .

    Source code(tar.gz)
    Source code(zip)
  • release-2.0.0-alpha-2(Sep 19, 2021)

    2.0.0-alpha-2 is an update of the previous release 2.0.0-alpha-1 on the road towards 2.0.0.

    • Based on Jakarta Mail 2.0 (breaking change since 1.6!). GreenMail 2.0 requires JDK 8+ now, and used Jakarta Mail 2.0.x
    • This release contains mostly bugfixes and dependency updates, as included in (1.6.5)[https://github.com/greenmail-mail-test/greenmail/releases/tag/release-1.6.5].

    Changes

    • Enhancements

      • #403 Refactor protocol handling for common socket handling base
    • Bugfixes

      • #395 Fix Client Timeout Handling
      • #399 Imap bug with deleting of inbox and renaming folder to existing name
      • #380 "java.lang.IllegalStateException: Can not read line, read 0 bytes" when trying to send SMTP mail since v1.6.3
    • Dependency updates

      • #385 Add jakarta.activation-api dependency to Greenmail Core
      • #386 Update com.sun.mail:jakarta.mail to 2.0.1
      • #397 Update spring to 4.3.30.RELEASE
      • #401 Update jetty to 9.4.43.v20210629
      • #402 Update docker base image to openjdk:8u302-jre-slim-buster
      • #404 Update slf4j to 1.7.32
    • Misc

      • #405 -Dgreenmail.users.login missing in CLI help
      • #396 Fix Line-Endings by introducing .gitattributes

    Download

    See Download instructions or use Maven Central with GAV coordinates com.icegreen:greenmail:2.0.0-alpha-2 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.5(Aug 15, 2021)

    This release contains bug fixes and minor dependency updates.

    • Enhancements

      • #409 Refactor protocol handling for common socket handling base (backport of #403)
    • Bugfixes

      • #380 IllegalStateException: Can not read line, read 0 bytes
      • #395 Fix Client Timeout Handling
      • #412 Imap bug with deleting of inbox and renaming folder to existing name (backport of #399)
      • #380 "java.lang.IllegalStateException: Can not read line, read 0 bytes" when trying to send SMTP mail since v1.6.3
      • #395 Fix Client Timeout Handling (backport of #380)
    • Dependency updates

      • #397 Update spring to 4.3.30.RELEASE (backport of #397)
      • #407 Update jetty to 9.4.43.v20210629 (backport of #401)
      • #408 Update docker base image to openjdk:8u302-jre-slim-buster (backport of #402)
      • #410 Update slf4j to 1.7.32 (backport of #404)
    • Misc

      • #411 -Dgreenmail.users.login missing in CLI help (backport of #405)
      • #398 Fix Line-Endings by introducing .gitattributes (backport of #396)

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.5 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.4(May 16, 2021)

    This release contains most notable support for IMAP IDLE and DSN, and further minor enhancements and dependency updates.

    • Enhancements

      • [#275]/[#382] IMAP IDLE support (RFC2177)
      • [#307] Support for Delivery Status Notification
      • [#384] Advertise support of user flags
      • [#383] Unified (verbose mode) protocol logging
      • [#381] Improve greenmail-standalone date time logging
      • [#394] Provide access to UserManager via GreenMail(Operations)
    • Dependency updates

      • [#392] Update docker base image to openjdk:8u292-jre-slim-buster
      • [#391] Update jersey to 2.34
      • [#390] Update Jakarta Mail to 1.6.7
      • [#389] Update jetty to 9.4.40.v20210413

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.4 .

    Source code(tar.gz)
    Source code(zip)
  • release-2.0.0-alpha-1(Apr 5, 2021)

    Initial alpha release for 2.0.0 based on Jakarta Mail 2.0 (breaking change!).

    • Dependency updates
      • [#317] Jakarta Mail 2.0.0
        This is a breaking change, updating dependencies

        • com.sun.mail:jakarta.mail:1.6.6 -> 2.0.0
        • jakarta.activation:jakarta-activation:1.2.1 -> jakarta.activation:2.0.0

        which also include package import changes javax.mail -> jakarta.mail

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.3(Mar 28, 2021)

    This release contains minor enhancements and dependency updates.

    • Enhancements

      • [#378] Improve IMAP command tracing
    • Bugfixes

      • [#372] Parsing of UID Search command
      • [#371] SMTP/IMAP UTF-8 Encoding
      • [#370] SMTP AUTH LOGIN wrong request codes
    • Dependency updates

      • [#376] Update org.junit.jupiter to 5.7.1
      • [#375] Update Jakarta Mail to 1.6.6
      • [#374] Update junit to 4.13.2
      • [#373] Update jetty to 9.4.38.v20210224

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.3 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.2(Jan 31, 2021)

    This release contains minor enhancements and dependency updates.

    • Enhancements

      • [#368] Increase default GreenMail startup timeout to 2s
      • [#362] API for GreenMail standalone and docker (for simple management eg purge emails or add users)
      • [#356] Purge mailbox/(es) in docker container (via #362)
      • [#358] Fix potential slow/hanging host resolution when sending mail
    • Bugfixes

      • [#367] SMTP : Don't include one extra space after 334 response
      • [#366] Read/Write race on GreenMail.managers
      • [#360] Mailbox CREATE succeeds even if mailbox with same name already exists
    • Dependency updates

      • [#365] Update assertj to 3.19.0
      • [#364] Update jetty to 9.4.36.v20210114
      • [#363] Update docker base image to openjdk:8u282-jre-slim-buster
      • [#359] Update jersey to 2.33

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.2 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.1(Nov 7, 2020)

    This release contains minor enhancements and dependency updates.

    • Enhancements

      • [#349] Simplified (and documented) dynamically selecting free port
      • [#345] Support using full email address as login name in standalone version
    • Dependency updates

      • [#353] Update docker base image to openjdk:8u272-jre-slim-buster (greenmail-standalone)
      • [#352] Update junit5 to 5.7.0
      • [#351] Update assertj to 3.18.0 (internal)
      • [#350],[#346] Update jetty to 9.4.34.v20201102 (greenmail-webapp)
      • [#348] Bump junit from 4.13 to 4.13.1
      • [#347] Update jersey 2.31 -> 2.32

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.1 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.6.0(Aug 16, 2020)

    Major changes for GreenMail 1.6 include switch from JavaMail 1.5.x to Jakarta Mail 1.6.x and support for Junit 5.

    • Enhancements

      • [#219] Support for JUnit 5 / [#241] Add junit5 extension module
      • [#332] JUnit 5 : Add the ability to instantiate GreenMail per-class in addition to per-method
      • [#334] Deprecated greenmail-core JUnit4 GreenMailRule / add new greenmail-junit4 module
      • [#320] Support mail.mime.allowutf8
      • [#216] Upgrade to Jakarta Mail 1.6
      • [#222] Migrate from hamcrest to assertj test (GreenMail internally)
    • Dependency updates

      • [#340] Update docker base image for GreenMail standalone to 8u265
      • [#339] Update jetty 9.4.30.v20200611 to 9.4.31.v20200723
    • Breaking changes

      • [#281] Require minimum JDK 8 (now officially, before GreenMail 1.5.x versions had a mix)
      • [#115] Remove deprecations due for 1.6 release :
        • GreenMail#util()
        • GreenMailOperations#getReceviedMessagesForDomain(domain)
        • GreenMailProxy#getReceviedMessagesForDomain(domain)
        • GreenMail#getReceviedMessagesForDomain(domain)
        • EncodingUtil#readTillNullChar
        • GreenMailUtil#instance()
        • Retriever#logout()
      • [#83] Retire greenmail-jboss-service module

    Note: GreenMail 1.6 requires JDK 8+ now, and used Jakarta Mail 1.6.x

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.6.0 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.14(Jul 4, 2020)

    This release contains a long overdue rewrite of the IMAP search, fixing many search related bugs.

    • Enhancements #331 Support IMAP search key BODY #329 Rewrite IMAP search parser

    • Dependency updates #324 Update docker base image for GreenMail standalone to 8u252 #330 Update org.springframework from 4.2.9 to 4.3.27 #323 Update jersey 2.30.1 to 2.31 #322 Update commons-io:commons-io version 2.6 to 2.7 #321 Update jetty version 9.4.27.v20200227 to 9.4.30.v20200611

    • Bugfixes: #333 SearchCommandParser doesn't parse a header command properly #319 Search: IMAP Complex search issue #328 Search: Support sequence set lists #326 Search: String.contains is case sensitive so both participants needs to be lowercase #312 Deleting user does not delete all their mailboxes #234 SearchCommandParser breaks with OR #20 Implement search for arbitrary fields

    Note: GreenMail requires JDK 8+ now.

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.14 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.13(Apr 13, 2020)

    • Bugfixes: #308 Gives POP same behaviour as IMAP when using -Dgreenmail.auth.disabled (also see #311/#268) #309 Doesn't check POP password when logging in with -Dgreenmail.auth.disabled (also see #310) #306 Fix Content-Disposition: inline not reported without parameters

    Note: GreenMail requires JDK 8+ now.

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.13 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.12(Apr 5, 2020)

    • Improvements: #301 Support for POP3 SASL Plain #300 Support for SMTP AUTH LOGIN #305 Switch and update docker base image for greenmail standalone #304 Update jersey 2.28 -> 2.30.1 (#296) #303 Update slf4j 1.7.29 -> 1.7.30 #302 Update junit 4.12 -> 4.13

    • Bugfixes: #257 UTF-8 umlauts are replaced by question marks #299 Retriever.close can throw NPE on close #291 SMTP MailCommand param pattern too greedy for outlook.com

    Note: GreenMail requires JDK 8+ now.

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.12 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.11(Oct 22, 2019)

    • Improvements: #277 Amend JAR MANIFEST.MF to support OSGi deployments #278 Update GreenMail Standalone base docker image to openjdk:8u212-jre-alpine3.9 #106 Provide a default page for GreenMail WAR #283 Update dependencies (slf4j, hamcrest) #278 Switch embedded dummy certificate keystore type from type JKS to PKCS12 #289 Update ANON ciphers for Dummy SSL/TLS certificates

    • Bugfixes: #276 Use exec to replace bash process with java process #288 Quoted charset not accepted on IMAP "SEARCH" command

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.11 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.10(Mar 24, 2019)

    • Bugfixes: #271 ConcurrentModificationException in getAllMessages #273 Always use US_ASCII when reading from a SMTP connection bug #267 ServerSetupTest.setPortOffset has no impact on the port configuration

    • Improvements: #272 Update greenmail-standalone docker base image to openjdk:7u201-jre-alpine3.9 #269 Allow to extend GreenMail

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.10 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.9(Nov 28, 2018)

    • Bugfixes: #264 Empty SEARCH response is invalid according to RFC 3501
      #255 Fix vmlens detected threading issues

    • Improvements: #263 Support smaller/larger search terms #239 Changed behaviour while delivering corrupted messages / PR #262 Allow malformed addresses

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.9 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.8(Aug 26, 2018)

    • Bugfixes: #247 UIDVALIDITY nz-number is defined as a non-zero 32bit unsigned integer, not 64bit #246 Fixed command continuation request not getting recognised #245 Concurrency issues when creating/deleting users #243 Retriever using SMTPS TLS #242 Retriever accepts null server causing NPE later

    • Improvements: #189 Support SMTP AUTH command with PLAIN mechanism #253 Update greenmail-standalone docker base image from openjdk:7u151-jre-alpine to latest openjdk:7u181-jdk-alpine3.8 #251 Append Message is so slow (append got optimized and should be faster now) #248 Dependency updates (commons-io, slf4j, ...) #233 Search implementation of SentDateTerm/ReceivedDateTerm

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.8 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.7(Feb 9, 2018)

    • Bugfixes: #229 Return Content-ID header in bodystructure response #232 InterruptedException should not be ignored #231 Send IMAP NO response for IMAP LIST and STATUS if mailbox does not exist #220 GreenMail.waitForIncomingEmail(...) waits twice the requested time

    • Improvements: #223 Could not start mail server imaps in Docker container You can specify the startup timeout via -Dgreenmail.startup.timeout and docker environment opts #227 Refactor server startup synchronisation to use java.util.concurrent #230 Update GreenMail Standalone base docker image Runs latest 7u151-jdk-alpine #224 API: GreenMailUtil.createMultipartWithAttachment is now public

    • Misc #228 Clarified doc for getReceivedMessagesForDomain(String domain) in GreenMail.class

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.7 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.6(Nov 24, 2017)

    • Bugfixes: #221 GreenMail Standalone Docker runs into JDK 7 SSL issue with latest openjdk:7-jre-alpine base image #206 Update embedded default certificate in greenmail.jks #213 SimpleMessageAttributes parsing of personal email addresses containing quoted commas #204 Reply-To header in SMTP

    • Improvements: #217 Embedded certificate is now generated as part of build (as fix of #206) #205 Use jre instead of jdk base image for GreenMail standalone docker image #193 Support search command 'OR' #212 Misc. improvements (parameterized logging, reuse StringBuilder, ...)

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.6 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.5(May 14, 2017)

    • Bugfixes: #201 NPE on "SEARCH NOT ..." #200 ArrayIndexOutOfBoundsException in FetchCommand #2 Squirrelmail with Greenmail ERROR “Bad or malformed request” bug

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.5 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.4(Apr 17, 2017)

    • New features: #188 Simplify using verbose mode for ServerSetup configurations #184 Support search by TEXT with CHARSET

    • Bugfixes: #198 FetchCommand: format INTERNALDATE correctly #195 Connection droped by Greenmail after IMAP RENAME command #192 Quotes not allowed in from-Address #191 GreenMail Spring stop method should set flag started to false after stop #187 GreenMail IMAP sends back bad response to FETCH when requesting headers with partial specifier

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.4 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.3(Jan 15, 2017)

    • New features: #169 Switch docker base image from java:jdk7 to openjdk:7-jdk-alpine #170 Support UTF-8 non ascii characters on email address (based on rfc6531) #173 Use script as entrypoint for GreenMail standalone docker image #174 Support searching by message sequence #175 Support verbose mode for GreenMail and standalone runner #177 Enhance service greeting with GreenMail project version #179 Support configuration options for GreenMail standalone Docker image
    • Bugfixes: #172 IMAP fails to fetch message when content type is text/html #178 Forwarding an attached message RFC822 message causes NPE
    • Misc: #181 Provide client test setup for Rainloop #183 Provide client test setup for Roundcube client

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.3 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.2(Sep 29, 2016)

    • New features: #142 Support message/rfc822
      #156 Expose Server Startup Timeout to GreenMailBean #155 Support IMAP subject search / JavaMail SubjectTerm
    • Bugfixes: #160 Handle missing subject headers
    • Misc: #159 Update the patch versions of the dependencies (JavaMail 1.5.5->1.5.6) #154 Build : Tag docker images with label 'latest' when releasing

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.2 .

    Source code(tar.gz)
    Source code(zip)
  • release-1.5.1(Jul 10, 2016)

    • New features: #147 Auto-configure mail.store.protocol for GreenMail created sessions #145 Support UIDPLUS extension : UID EXPUNGE, APPENDUID, COPYUID #143 Support logging IMAP protocol on server side (for debugging) #139 Improved debugging : Include binding address in thread name
    • Bugfixes: #152 Misspelling in public GreenMailOperations interface #151 GreenMailUtil#getHeaders produces StringIndexOutOfBoundsException for empty MIME parts #149 escaping of SMTP folded subject lines introduces unexpected characters #132 Race condition when receiving emails other SMTP #126 IMAP FETCH command parse error
    • Misc: #141 Build: Handle long running tests #140 Update the patch versions of the dependencies #134 circleci will show build with failed tests as successful bug

    For further details, check the issues fixed.

    Download also available in Maven Central with GAV coordinates com.icegreen:greenmail:1.5.1 .

    Source code(tar.gz)
    Source code(zip)
🎯 ConsoleCaptor captures console output for unit testing purposes

ConsoleCaptor Install library with: Install with maven <dependency> <groupId>io.github.hakky54</groupId> <artifactId>consolecaptor</artifactId

Hakan Altındağ 15 Dec 9, 2022
Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding

Everyone can develop projects independently, quickly and efficiently! What is spring-boot-plus? A easy-to-use, high-speed, high-efficient, feature-ric

geekidea 2.3k Dec 31, 2022
Conformance test suite for OpenShift

Origin Kubernetes This repo was previously the core Kubernetes tracking repo for OKD, and where OpenShift's hyperkube and openshift-test binaries were

OpenShift 8.2k Jan 4, 2023
A distributed lock that supports the use of Redis and Zookeeper, out of the box, fast and easy to use

lock-spring-boot-starter A distributed lock that supports the use of Redis and Zookeeper, out of the box, fast and easy to use 一款基于 Redis 和 Zookeeper

Pear Stack 9 Oct 15, 2022
DM Movie is an app with several movies catalogued through a database, you enter your email and your rating of the movie

DM Movie is an app with several movies catalogued through a database, you enter your email and your rating of the movie

Davi M. G. de Almeida 5 Jan 28, 2022
Projeto básico de como utilizar Spring Boot enviando email via GMail

Projeto de Envio de Email Projeto simples utilizando Spring Boot para enviar email utilizando contas do Gmail. Vídeo: https://youtu.be/so3nq5NapHA Pré

null 2 Sep 22, 2022
A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduling and validation capabilities

Aerie A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduli

NASA Advanced Multi-Mission Operations System 31 Jan 3, 2023
The open source CyborgFlow project is an out-of-the-box (OOTB) solution to perform load test on your online system.

CyborgFlow CyborgFlow provides an out-of-the-box (OOTB) solution to perform load test on your online system, powered by Apache APISIX, Apache SkyWalki

SphereEx 70 Nov 30, 2022
A unit testing library for varying test data.

Burst A unit testing library for varying test data. DEPRECATED: Burst remains stable and functional, but you should check out TestParameterInjector fr

Square 464 Oct 9, 2022
Don't use this maliciously, this is for testing

log4j-exploit-example Don't use this maliciously, this is for testing Specifically for testing within Minecraft, but this will probably work on other

fizzdev 7 Dec 25, 2021
A simple and easy to use personal medical notes

a-medic-log A simple and easy to use personal medical notes. Easily add your medical notes Multiple profile to keep track elderly and family members m

null 8 Oct 9, 2022
Extremely simple and easy to use lucky blocks plugin!

SimpleLuckyBlocks plugin, the new fully customisable lucky blocks plugin Ever felt the need for a free, yet simple lucky blocks plugin? Well you've fo

Steven Zhu 4 Jun 8, 2022
Auto-Unit-Test-Case-Generator automatically generates high-level code-coverage JUnit test suites for Java, widely used within the ANT Group.

中文README传送门 What is Auto-Unit-Test-Case-Generator Auto-Unit-Test-Case-Generator generates JUnit test suites for Java class just as its name. During te

TRaaS 108 Dec 22, 2022
An easy-to-use Spigot library that implements a GUI interface within offhand maps.

MiniMapGUI An easy-to-use Spigot library that implements a GUI interface within offhand maps. Maven/Gradle Dependencies Replace Tag with the latest ve

byteful 10 Oct 17, 2022
A util for operating log. Easy to use.

oplog 一个便于使用的操作日志工具。 语言 : [ 英语 | 中文 ] 功能 通过表达式解析生成美观的表达式,支持解析入参、自定义变量、返回值(_ret)、错误信息(_errMsg) 可以通过条件控制是否记录日志 提供自定义函数扩展 提供自定获取上下文用户扩展 支持嵌套、支持多线程使用情景 使用

Qichun Liu 16 Oct 19, 2022
An Open-Source repository 🌎 that contains all the Data Structures and Algorithms concepts and their implementation, programming questions and Interview questions

An Open-Source repository ?? that contains all the Data Structures and Algorithms concepts and their implementation, programming questions and Interview questions. The main aim of this repository is to help students who are learning Data Structures and Algorithms or preparing for an interview.

Aritra Das 19 Dec 29, 2022
Practice and testing with Java 11, Prometheus, and Spring-boot with MicroService Architecture. Designed to run on Kubernetes in minikube.

This application was written by Andrew Aslakson Built to run on minikube using kubernetes General race tracking system? Secure with Firebase Authentic

null 1 Feb 5, 2022
A singular file to protect as many Minecraft servers and clients as possible from the Log4j exploit (CVE-2021-44228).

MC-Log4J-Patcher The goal of this project is to provide Minecraft players, and server owners, peace of mind in regards to the recently discovered Log4

Koupa Taylor 4 Jan 4, 2022
A guild plugin for Minecraft Servers that supports 1.13 and above

OasisGuild Description A guild plugin for Minecraft Servers that supports 1.13 and above Languages zh_cn(简体中文) en_us(English) Placeholders %oasisguild

ChiyodaXiaoYi 2 Apr 6, 2022