Getting Started
Core
Relational Databases
NoSQL Databases
Cache
Internationalization
REST Client
Scheduler
Sendmail
Template
Virtual File Storage
Web
Testing
Advanced
If your application needs to send a few emails, you can easily do so via the voidframework-sendmail
module. Sending emails is a not blocking operation, the emails are added to a queue that will be consumed asynchronously.
<dependency>
<groupId>dev.voidframework</groupId>
<artifactId>voidframework-sendmail</artifactId>
<version>1.16.0</version>
</dependency>
In addition to this basic module, you will need a mailer implementation. By default, the base module provides an implementation intended for local testing. For normal use, you can for example use the voidframework-sendmail-commonsemail
module
The following configuration keys can be used in the configuration file of your application:
voidframework.sendmail.engine
the mailer implementation to use. The default value is null
.voidframework.sendmail.mailQueuePollTimeout
the time to wait before giving up when retrieving a mail to be sent from the queue of mail waiting to be sent when the queue is empty. The default value is 2 seconds
.voidframework.sendmail.gracefulStopTimeout
the time for the daemon to shut down properly before it was terminated. The default value is 15 seconds
.@BindClass
public final class Service {
private final Sendmail sendmail;
@Inject
public Service(final Sendmail sendmail) {
this.sendmail = sendmail;
}
public void sample() {
final Mail mail = new Mail();
mail.setSubject("Hello World!");
mail.setBodyContentText("Hello World!");
mail.setFrom("charlie.root@local.domain", "Charlie Root");
mail.addRecipient("john@local.domain");
sendmail.send(mail);
}
}