tell Jenkins to run build with Java 11
1 file changed
tree: e6fc34201ff923c64e88801c9f03a1d176cc3001
  1. src/
  2. .gitignore
  3. .sling-module.json
  4. bnd.bnd
  5. CODE_OF_CONDUCT.md
  6. CONTRIBUTING.md
  7. Jenkinsfile
  8. LICENSE
  9. pom.xml
  10. README.md
README.md

Build Status Test Status License

Apache Sling Commons Messaging Mail

This module is part of the Apache Sling project.

This module provides a simple layer on top of Jakarta Mail (former JavaMail) including a message builder and a service to send mails via SMTPS.

  • Mail Service: sends MIME messages.
  • Message Builder: builds plain text and HTML messages with attachments and inline images
  • Message ID Provider: allows overwriting default message IDs by custom ones

Example

    @Reference
    MailService mailService;

    String subject = "Rudy, A Message to You";
    String text = "Stop your messing around\nBetter think of your future\nTime you straighten right out\nCreating problems in town\n…";
    String html = […];
    byte[] attachment = […];
    byte[] inline = […];

    MimeMessage message = mailService.getMessageBuilder()
        .from("dandy.livingstone@kingston.jamaica.example.net", "Dandy Livingstone")
        .to("the.specials@coventry.england.example.net", "The Specials")
        .replyTo("rocksteady@jamaica.example.net");
        .subject(subject)
        .text(text)
        .html(html)
        .attachment(attachment, "image/png", "attachment.png")
        .inline(inline, "image/png", "inline")
        .build();

    mailService.sendMessage(message);

Integration Tests

Integration tests require a running SMTP server. By default a GreenMail server is started.

An external SMTP server for validating messages with real mail clients can be used by setting required properties:

mvn clean install\
  -Dsling.test.mail.smtps.server.external=true\
  -Dsling.test.mail.smtps.from=envelope-from@example.org\
  -Dsling.test.mail.smtps.host=localhost\
  -Dsling.test.mail.smtps.port=465\
  -Dsling.test.mail.smtps.username=username\
  -Dsling.test.mail.smtps.password=password\
  -Dsling.test.mail.from.address=from@example.org\
  -Dsling.test.mail.from.name=From\ Sender\
  -Dsling.test.mail.to.address=to@example.org\
  -Dsling.test.mail.to.name=To\ Recipient\
  -Dsling.test.mail.replyTo.address=replyto@example.org\
  -Dsling.test.mail.replyTo.name=Reply\ To