Interface MailConfigurationService

  • All Known Implementing Classes:
    MailConfigurationServiceImpl

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

      • 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