1   package com.atlassian.mail.server;
2   
3   import com.atlassian.mail.Email;
4   import com.atlassian.mail.MailConstants;
5   import com.atlassian.mail.MailException;
6   import com.atlassian.mail.MailProtocol;
7   
8   import java.io.PrintStream;
9   
10  public interface SMTPMailServer extends MailServer
11  {
12      @Deprecated
13      String DEFAULT_SMTP_PORT = MailConstants.DEFAULT_SMTP_PORT;
14  
15      String getDefaultFrom();
16  
17      void setDefaultFrom(String from);
18  
19      String getPrefix();
20  
21      void setPrefix(String prefix);
22  
23      boolean isSessionServer();
24  
25      void setSessionServer(boolean sessionServer);
26  
27      String getJndiLocation();
28  
29      void setJndiLocation(String jndiLocation);
30  
31      public boolean isRemovePrecedence();
32  
33      public void setRemovePrecedence(boolean precedence);
34  
35      void send(Email email) throws MailException;
36  
37      void quietSend(Email email) throws MailException;
38  
39      /**
40       * Enable or disable SMTP-level logging.
41       *
42       * @param debug Turn debugging on or off
43       */
44      void setDebug(boolean debug);
45  
46      /**
47       * Whether  logging is enabled.
48       */
49      boolean getDebug();
50  
51      /**
52       * Where debug logs currently go to.
53  	 * @return print stream where debug info is logged to
54  	 */
55      PrintStream getDebugStream();
56  
57      boolean isTlsRequired();
58  
59      void setTlsRequired(boolean tlsRequired);
60  
61  
62  }