com.openexchange.mail.service
Interface MailService

All Known Implementing Classes:
MailServiceImpl

public interface MailService

MailService - The mail service to obtain both an appropriate instance of MailAccess for accessing mail system and an appropriate instance of MailTransport for sending mails.

Author:
Thorben Betten

Method Summary
 MailAccess<?,?> getMailAccess(com.openexchange.session.Session session)
          Gets an appropriate instance of mail access parameterized with given session.
 MailTransport getMailTransport(com.openexchange.session.Session session)
          Gets an appropriate instance of mail transport parameterized with given session.
 

Method Detail

getMailAccess

MailAccess<?,?> getMailAccess(com.openexchange.session.Session session)
                              throws MailException
Gets an appropriate instance of mail access parameterized with given session.

When starting to work with obtained mail access at first its MailAccess.connect() method is supposed to be invoked. On finished work the final MailAccess.close(boolean) must be called in order to release resources:

 final MailAccess mailAccess = mailService.getMailAccess(session);
 mailAccess.connect();
 try {
        // Do something
 } finally {
        mailAccess.close(putToCache)
 }
 

Parameters:
session - The session
Returns:
An appropriate instance of MailAccess
Throws:
MailException - If an appropriate instance of mail access cannot be initialized

getMailTransport

MailTransport getMailTransport(com.openexchange.session.Session session)
                               throws MailException
Gets an appropriate instance of mail transport parameterized with given session.

Note: Don't forget to call final MailTransport.close() on obtained mail transport:

 final MailTransport mailTransport = mailService.getMailTransport(session);
 try {
     // Do something
 } finally {
     mailTransport.close();
 }
 

Parameters:
session - The session providing needed user data
Returns:
An appropriate instance of MailTransport
Throws:
MailException - If an appropriate instance of mail transport cannot be initialized