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 7, 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.:

email.username=userName
email.password=password
[email protected]
email.server.address=pop.gmail.com
email.server.port=995
email.server.protocol=pop
email.folder.name=INBOX
smtp.server.address=imap.gmail.com
smtp.server.port=465
smtp.server.secure=true

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

###Write a test

@RunWith(TestRunner.class)
@Modules(GuiceModule.class)
public class EmailTest {

  @Inject
  private EmailClient client;

  @Inject
  private EmailSender sender;

  @Inject
  @Named("email.address")
  private String addressTo;

  @Inject
  @Named("email.address")
  private String addressFrom;

  @Test
  public void canReceiveLatestEmails() {
    //create email
    EmailData emailData = new EmailData();
    emailData.setAddressFrom(addressFrom);
    emailData.setAddressTo(addressTo);
    emailData.setMessageContent("this is bobcat test message");
    emailData.setSubject("test message");
    
    //send email
    sender.sendEmail(emailData);

    //connect with mail box
    client.connect();

    //download messages
    List<EmailData> receivedEmails = client.getLatest(1);
    
    //check results
    assertEquals(1, receivedEmails.size());
    assertEquals("test message", receivedEmails.get(0).getSubject());

    //remove email from inbox
    client.removeLastEmails(1);
    
    //close mail box connection
    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