We aggregate and tag open source projects. We have collections of more than one million projects. Check out the projects section.
In any project there will be a need to send mail out to users. It could be an alert mail, forget password or authentication related mail. Mail is the default communication between the software and the users. As a developer, we can write code, to send out a mail but we need to make sure whether it got successfully received and how the body of mail, Is it the same like what we have sent. GreenMail is a Email test framework which helps to send and receive mails. It is a test framework which supports SMTP, POP3, IMAP including SSL.
Automation is the buzz word every organization is using and pushing its developers to automate the code. Few organization use continous delivery to automate the build, which inturn will also performs unit testing. There is a requirement to have dummy / fake email server to send and receive the mails. We cannot afford to have actual mail server as the mails should not be sent out of the organization. There is always a requirement for a light weight email server which can send and receive mails and it is exclusively used for testing purposes. GreenMail is a perfect fit for that.
GreenMail Email mail server can started as standalone server. Download the greenmail.jar and execute the below command line to start the server.
java -Dgreenmail.setup.all -jar greenmail-standalone-1.5.7.jar
GreenMail server can be started and stopped programtically.
GreenMail greenMail = new GreenMail(ServerSetupTest.ALL);
greenMail.start(); //start the server
greenMail.stop(); //stop the server
We looked in to the library and personally liked it. Below is the sample to send and receive mail. We have used Javamail to send the mail and used GreenMail library to receive it.
Maven dependency
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>com.icegreen</groupId>
<artifactId>greenmail</artifactId>
<version>1.5.7</version>
</dependency>
Code to send mail using Javamail.
public static void sendMail() {
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", "localhost");
props.put("mail.smtp.port", "25");
Session mailSession = Session.getInstance(props, null);
try {
MimeMessage msg = new MimeMessage(mailSession);
msg.setFrom("admin@example.com");
msg.setRecipients(Message.RecipientType.TO, "editor@findbestopensource.com");
msg.setSubject("Forget login request");
msg.setText("We got request that you want to reset your password. Below is the link ... ");
msg.setSentDate(new Date());
Transport.send(msg);
}
catch (MessagingException e) {
e.printStackTrace();
}
}
Code to receive mail using GreenMail library
public static void receiveMail() {
try {
GreenMail greenMail = new GreenMail(ServerSetup.SMTP_IMAP);
ServerSetup server = greenMail.getSmtp().getServerSetup();
System.out.println(server.getPort());
IMAPStore imapStore = greenMail.getImap().createStore();
imapStore.connect("editor@findbestopensource.com", "editor@findbestopensource.com");
Folder inbox = imapStore.getFolder("INBOX");
inbox.open(Folder.READ_WRITE);
int totalMsgCount = inbox.getMessageCount();
for(int i=1; i <= totalMsgCount; i++) {
Message msgReceived = inbox.getMessage(i);
System.out.println(msgReceived.getSubject());
}
inbox.close();
}
catch(Exception exp) {
exp.printStackTrace();
}
}
GreenMail library is a useful library for the one who wants to vaidate the mails being sent and those who want a test mail server.
References:
http://www.icegreen.com/greenmail
https://github.com/greenmail-mail-test/greenmail
Subscribe to our newsletter.
We will send mail once in a week about latest updates on open source tools and technologies. subscribe our newsletterMost of the projects will have a requirement of sending and receiving mails. We have mentioned about GreenMail - Email Test Framework, in our previous article about API based SMTP testing. In this article, we discuss about MailHog - Web and API based SMTP testing. You send out a mail from your code and you can check it via web visually and also via API. Those who do API testing can check via API. Developers may want to visually verify the format of the mail. MailHog is a best bet for SMTP testing.
Text editors are mainly used by programmers and developers for manipulating plain text source code, editing configuration files or preparing documentation and even viewing error logs. Text editors is a piece of software which enables to create, modify and delete files that a programmer is using while creating website or mobile app.In this article, we will discuss about top 7 all-round performing text editors which is highly supportive for programmers.
You may require GBs of data to do performance or load testing. How your app behaves when there is loads of data. You need to know the capacity of your application. This is the frequently asked question from the sales team "The customer is having 100GB of data and he wants to know whether our product will handle this? If so how much RAM / Disk storage required?". This article has pointers to the large data corpus.
Light 4j is a fast, lightweight and cloud-native microservices framework. In this article, we will see what and how hybrid framework works and integrate with RDMS databases like MySQL, also built in option of CORS handler for in-flight request.
Light 4j is fast, lightweight, secure and cloud native microservices platform written in Java 8. It is based on pure HTTP server without Java EE platform. It is hosted by server UnderTow. Light-4j and related frameworks are released under the Apache 2.0 license.
It is a fact the 2020 is not going the way we expected to be but when it comes to technology breakthrough we can say 2020 will be the heir of greatness. <br />Speaking of technical breakthroughs we have got artificial intelligence which is known to be taking over the mankind like a wildfire. Everything around us is connected through AI be it shopping travelling or even reading. Every other activity of ours is transforming into a whole new extent.
Exonum is an extensible open source blockchain framework for building private blockchains which offers outstanding performance, data security, as well as fault tolerance. The framework does not include any business logic, instead, you can develop and add the services that meet your specific needs. Exonum can be used to build various solutions from a document registry to a DevOps facilitation system.
Each website / blog delivers useful content or service to its users. But website themselves requires some service to monitor and increase its presence. Here are few free services which could be used by Website / Blog. This will be very much helpful for small business owners.
Comments are very important for a blog or website to get feedback from their users. Comments could be threaded where users could be discuss and post reply to the comment. Here we going discuss about the most popular and widely used free commenting system. You need to embed their javascript code in your every page and it will take care the rest of the task.
The best way to design a system for handling bulk workloads is to make it a batch system. If we are already using Spring, it will be easy to add a Spring Batch to the project. Spring batch provides a lot of boiler plate features required for batch processing like chunk based processing, transaction management and declarative input/output operations. It also provides job control for start, stop, restart, retry and skip processing also.
RESTEasy is JAX-RS 2.1 compliant framework for developing rest applications. It is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS 2.1 specification, a JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol.
Microsoft is monopoly in the commercial software. Here are 15 best alternatives to most popular and widely used Microsoft products.
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. OpenNLP also includes entropy and perceptron based machine learning. . It contains several components for natural language processing pipeline like sentence detector, tokenizer, name finder, document categorizer, part-of-speech tagger, chunker, parser, co-reference resolution.
Undertow is a high performing web server which can be used for both blocking and non-blocking tasks. It is extermely flexible as application can assemble the parts in whatever way it would make sense. It also supports Servlet 4.0, JSR-356 compliant web socket implementation. Undertow is licensed under Apache License, Version 2.0.
RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a fully certified and portable implementation of the JAX-RS 2.1 specification, a JCP specification that provides a Java API for RESTful Web Services over the HTTP protocol. It is licensed under the Apache 2.0 license.
Univention Corporate Server is an open source identity management system, an IT infrastructure and device management solution and an extensible platform with a store-like App Center that includes tested third party applications and further UCS components: This is what Univention combines in their main product Univention Corporate Server, a Debian GNU/Linux based enterprise distribution. This article provides you the overview of Univention Corporate Server, its feature and installation.
Activiti Cloud is the first Cloud Native BPM framework built to provide a scalable and transparent solution for BPM implementations in cloud environments. The BPM discipline was created to provide a better understanding of how organisations do their work and how this work can be improved in an iterative fashion.
Web developers come across scenarios like web application completely breaks when workstation goes offline. Likewise to get into our application, every time we need to open a browser and then access it. Instead if it is in app, it will be easy to access for end-user. Push notifications similar to email client need to be done through web application. All these are addressed by a magic called service worker.
Lucene is most powerful and widely used Search engine. Here is the list of 7 search engines which is built on top of Lucene. You could imagine how powerful they are.
LogicalDOC is both a document management and a collaboration system. The software is loaded with many functions and allows organizing, indexing, retrieving, controlling and distributing important business documents securely and safely for any organization and individual.
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.