Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.

EmailGuide

Mariusz Kubiś edited this page Jul 15, 2016 · 3 revisions

##Email

Email module contains classes that let the user connect to a mail box and fetch or delete selected messages.

Module supports following protocols:

  • IMAP (plain and secure),
  • POP3.

It also supports sending emails using SMTP protocol.

##How to start? Add dependencies to your POM file:

<dependency>
    <groupId>com.cognifide.qa.bb</groupId>
    <artifactId>bb-email</artifactId>
    <version>${bb.version}</version>
</dependency>

Install EmailModule in GuiceModule

install(new EmailModule());

Configure email properties e.g.:

#general configuration
email.username=userName
email.password=password
[email protected]

#configuration for receiving emails
email.server.address=pop.servername.com
email.server.port=995
email.server.protocol=pop
email.folder.name=INBOX

#configuration for sending emails
smtp.server.address=imap.servername.com
smtp.server.port=465
smtp.server.secure=true

#email address pattern
email.address.pattern="*[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,6}"*

Write a test

Inject EmailClient for receiving email and EmailSender for sending emails:

  @Inject
  private EmailClient client;

  @Inject
  private EmailSender sender;

Create email message:

    EmailData emailData = new EmailData();
    emailData.setAddressFrom("[email protected]");
    emailData.setAddressTo("[email protected]");
    emailData.setMessageContent("this is bobcat test message");
    emailData.setSubject("test message");

Send email:

    sender.sendEmail(emailData);

Connect with mail inbox and get messages:

    client.connect();
    List<EmailData> receivedEmails = client.getLatest(1);

Remove emails and close connection with inbox:

    client.removeLastEmails(1);
    client.close();

Getting started with Bobcat

  1. Getting started

AEM Related Features

  1. Authoring tutorial - Classic
  1. AEM Classic Authoring Advanced usage
  1. Authoring tutorial - Touch UI
Clone this wiki locally