Class MailConfigurationServiceImpl
java.lang.Object
com.atlassian.bamboo.admin.configuration.MailConfigurationServiceImpl
- All Implemented Interfaces:
MailConfigurationService
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.atlassian.bamboo.admin.configuration.MailConfigurationService
MailConfigurationService.MailMode
-
Constructor Summary
ConstructorDescriptionMailConfigurationServiceImpl
(SecretEncryptionService secretEncryptionService, BambooPermissionManager bambooPermissionManager, com.atlassian.struts.TextProvider textProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Delete the current mail server configuration@NotNull com.atlassian.mail.server.SMTPMailServer
Retrieve the current mail server configurationboolean
Returns true if mail server configuration exists@NotNull com.atlassian.mail.server.SMTPMailServer
updateMailServer
(@Nullable String name, @Nullable String fromAddress, @Nullable String subjectPrefix, @Nullable Boolean precedenceBulkHeaderExcluded, @Nullable MailConfigurationService.MailMode emailSetting, @Nullable String smtpServer, @Nullable String smtpPort, @Nullable String smtpUsername, @Nullable String smtpPassword, @Nullable Boolean tlsEnabled, @Nullable String jndiLocation) Update the current mail server configuration@NotNull com.atlassian.mail.server.SMTPMailServer
updateMailServer
(@Nullable String name, @Nullable String fromAddress, @Nullable String subjectPrefix, @Nullable Boolean precedenceBulkHeaderExcluded, @Nullable String emailSetting, @Nullable String smtpServer, @Nullable String smtpPort, @Nullable String smtpUsername, @Nullable String smtpPassword, @Nullable Boolean tlsEnabled, @Nullable String jndiLocation) Update the current mail server configurationvalidateJndiLocation
(@NotNull String jndiName) Validates JNDI location for mail server.
-
Constructor Details
-
MailConfigurationServiceImpl
@Inject public MailConfigurationServiceImpl(@Lazy SecretEncryptionService secretEncryptionService, BambooPermissionManager bambooPermissionManager, com.atlassian.struts.TextProvider textProvider)
-
-
Method Details
-
isMailServerConfigured
Description copied from interface:MailConfigurationService
Returns true if mail server configuration exists- Specified by:
isMailServerConfigured
in interfaceMailConfigurationService
- Returns:
- boolean true if server configuration exists, false otherwise
- Throws:
UnauthorisedException
- if user does not have appropriate permissions (System Administrator)
-
getMailServer
@NotNull public @NotNull com.atlassian.mail.server.SMTPMailServer getMailServer() throws UnauthorisedException, NotFoundExceptionDescription copied from interface:MailConfigurationService
Retrieve the current mail server configuration- Specified by:
getMailServer
in interfaceMailConfigurationService
- 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 public @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 Description copied from interface:MailConfigurationService
Update the current mail server configuration- Specified by:
updateMailServer
in interfaceMailConfigurationService
- Parameters:
name
- name of the email serverfromAddress
- an email address Bamboo-generated emails are sent from, must be a valid email addresssubjectPrefix
- prefix added to the email subjectprecedenceBulkHeaderExcluded
- whether to exclude "precedence:bulk" email headeremailSetting
- 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 invalidUnauthorisedException
- if user does not have appropriate permissions (System Administrator)
-
updateMailServer
@NotNull public @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 Description copied from interface:MailConfigurationService
Update the current mail server configuration- Specified by:
updateMailServer
in interfaceMailConfigurationService
- Parameters:
name
- name of the email serverfromAddress
- an email address Bamboo-generated emails are sent from, must be a valid email addresssubjectPrefix
- prefix added to the email subjectprecedenceBulkHeaderExcluded
- whether to exclude "precedence:bulk" email headeremailSetting
- MailMode.JNDI or MailMode.SMTPsmtpServer
- address of SMTP server,null
for JDNIsmtpPort
- port of SMTP server,null
for JNDIsmtpUsername
- user name,null
for JNDIsmtpPassword
- password,null
for JNDItlsEnabled
- whether TLS is enabled,null
for JNDIjndiLocation
- JNDI address specyfing email server,null
for SMTP- Returns:
- SMTPMailServer - mail server configuration after the update
- Throws:
WebValidationException
- if the supplied parameters are invalidUnauthorisedException
- if user does not have appropriate permissions (System Administrator)
-
deleteMailServer
Description copied from interface:MailConfigurationService
Delete the current mail server configuration- Specified by:
deleteMailServer
in interfaceMailConfigurationService
- Throws:
NotFoundException
- if a mail server is not currently setcom.atlassian.mail.MailException
- if there is an error attempting to delete the current mail configuration
-
validateJndiLocation
Description copied from interface:MailConfigurationService
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.
- Specified by:
validateJndiLocation
in interfaceMailConfigurationService
- Parameters:
jndiName
- JNDI address specifying email server- Returns:
- list of discovered errors, empty if the given JNDI location is valid
-