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
34 if (!MailFactory.isSendingDisabled())
35 {
36
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 }