Interface MailConfigurationService

All Known Implementing Classes:
MailConfigurationServiceImpl

public interface MailConfigurationService
Service to manage mail configuration
Since:
5.10
  • Method Details

    • isMailServerConfigured

      boolean isMailServerConfigured() throws UnauthorisedException
      Returns true if mail server configuration exists
      Returns:
      boolean true if server configuration exists, false otherwise
      Throws:
      UnauthorisedException - if user does not have appropriate permissions (System Administrator)
      Since:
      6.0
    • getMailServer

      @NotNull @NotNull com.atlassian.mail.server.SMTPMailServer getMailServer() throws UnauthorisedException, NotFoundException
      Retrieve the current mail server configuration
      Returns:
      current mail server configuration
      Throws:
      UnauthorisedException - if user does not have appropriate permissions (System Administrator)
      NotFoundException - if no mail server configuration is set
    • updateMailServer

      @NotNull @NotNull com.atlassian.mail.server.SMTPMailServer updateMailServer(@Nullable @Nullable String name, @Nullable @Nullable String fromAddress, @Nullable @Nullable String subjectPrefix, @Nullable @Nullable Boolean precedenceBulkHeaderExcluded, @Nullable @Nullable MailConfigurationService.MailMode emailSetting, @Nullable @Nullable String smtpServer, @Nullable @Nullable String smtpPort, @Nullable @Nullable String smtpUsername, @Nullable @Nullable String smtpPassword, @Nullable @Nullable Boolean tlsEnabled, @Nullable @Nullable String jndiLocation) throws WebValidationException, UnauthorisedException
      Update the current mail server configuration
      Parameters:
      name - name of the email server
      fromAddress - an email address Bamboo-generated emails are sent from, must be a valid email address
      subjectPrefix - prefix added to the email subject
      precedenceBulkHeaderExcluded - whether to exclude "precedence:bulk" email header
      emailSetting - MailMode.JNDI or MailMode.SMTP
      smtpServer - address of SMTP server, null for JDNI
      smtpPort - port of SMTP server, null for JNDI
      smtpUsername - user name, null for JNDI
      smtpPassword - password, null for JNDI
      tlsEnabled - whether TLS is enabled, null for JNDI
      jndiLocation - JNDI address specyfing email server, null for SMTP
      Returns:
      SMTPMailServer - mail server configuration after the update
      Throws:
      WebValidationException - if the supplied parameters are invalid
      UnauthorisedException - if user does not have appropriate permissions (System Administrator)
      Since:
      6.0
    • updateMailServer

      @Deprecated @NotNull @NotNull com.atlassian.mail.server.SMTPMailServer updateMailServer(@Nullable @Nullable String name, @Nullable @Nullable String fromAddress, @Nullable @Nullable String subjectPrefix, @Nullable @Nullable Boolean precedenceBulkHeaderExcluded, @Nullable @Nullable String emailSetting, @Nullable @Nullable String smtpServer, @Nullable @Nullable String smtpPort, @Nullable @Nullable String smtpUsername, @Nullable @Nullable String smtpPassword, @Nullable @Nullable Boolean tlsEnabled, @Nullable @Nullable String jndiLocation) throws WebValidationException, UnauthorisedException
      Update the current mail server configuration
      Parameters:
      name - name of the email server
      fromAddress - an email address Bamboo-generated emails are sent from, must be a valid email address
      subjectPrefix - prefix added to the email subject
      precedenceBulkHeaderExcluded - whether to exclude "precedence:bulk" email header
      emailSetting - must be either "JNDI" or "SMTP"
      smtpServer - address of SMTP server, null for "JDNI"
      smtpPort - port of SMTP server, null for "JNDI"
      smtpUsername - user name, null for "JNDI"
      smtpPassword - password, null for "JNDI"
      tlsEnabled - whether TLS is enabled, null for "JNDI"
      jndiLocation - JNDI address specyfing email server, null for "SMTP"
      Returns:
      SMTPMailServer - mail server configuration after the update
      Throws:
      WebValidationException - if the supplied parameters are invalid
      UnauthorisedException - if user does not have appropriate permissions (System Administrator)
    • deleteMailServer

      void deleteMailServer() throws NotFoundException, com.atlassian.mail.MailException, UnauthorisedException
      Delete the current mail server configuration
      Throws:
      NotFoundException - if a mail server is not currently set
      com.atlassian.mail.MailException - if there is an error attempting to delete the current mail configuration
      UnauthorisedException - if user does not have appropriate permissions (System Administrator)
    • validateJndiLocation

      @NotNull @NotNull List<String> validateJndiLocation(@NotNull @NotNull String jndiLocation)
      Validates JNDI location for mail server.

      This method will not check whether the server can be found under the given location. Only the validity of the location (e.g. that a supported scheme was used) is checked.

      Parameters:
      jndiLocation - JNDI address specifying email server
      Returns:
      list of discovered errors, empty if the given JNDI location is valid