This repository has been archived by the owner on Nov 23, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 40
EmailGuide
Mariusz Kubiś edited this page Jul 7, 2016
·
3 revisions
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();
}
}
- Configuring Bobcat
- Selenium enhancements
- Cucumber enhancements
- Traffic analyzer
- Email support
- Reporting
- Cloud integration
- Mobile integration
- Executing tests on different environments
- Working with multiple threads
- Tips and tricks
- Authoring tutorial - Classic
- AEM Classic Authoring Advanced usage
- Siteadmin
- Sidekick
- Aem Component
- Working with author pages
- Working with Publish pages
- Advanced component interactions
- Working with Context Menu
- Using Aem Content Tree
- Aem Content Finder
- Storing component configurations
- Working with packages
- Jcr Support
- Authoring tutorial - Touch UI
- Adding and editing a component
- Sites management tutorial