1   package com.atlassian.mail.queue;
2   
3   import com.atlassian.mail.Email;
4   import com.atlassian.mail.MailException;
5   import com.atlassian.mail.MailFactory;
6   import com.atlassian.mail.server.SMTPMailServer;
7   import org.apache.log4j.Logger;
8   
9   public class SingleMailQueueItem extends AbstractMailQueueItem
10  {
11      private static final Logger LOG = Logger.getLogger(SingleMailQueueItem.class);
12  
13      private final Email email;
14  
15      public SingleMailQueueItem(Email email)
16      {
17          super(email.getSubject());
18          this.email = email;
19      }
20  
21      public void send() throws MailException
22      {
23          incrementSendCount();
24  
25          SMTPMailServer smtpMailServer = MailFactory.getServerManager().getDefaultSMTPMailServer();
26  
27          if (smtpMailServer == null)
28          {
29              LOG.debug("Not sending message as the default SMTP Mail Server is not defined.");
30              return;
31          }
32  
33          // Check if mailing is disabled && if SMTPMailServer has been set
34          if (!MailFactory.isSendingDisabled())
35          {
36              // If not, send the message
37              if (mailThreader != null) mailThreader.threadEmail(email);
38              smtpMailServer.send(email);
39              if (mailThreader != null) mailThreader.storeSentEmail(email);
40          }
41  		else
42  		{
43  			LOG.debug("Not sending message as sending is turned off.");
44          }
45      }
46  
47      public Email getEmail()
48      {
49          return email;
50      }
51  
52      public String toString()
53      {
54          return (email != null ? email.toString() : "null");
55      }
56  }