public class MailConfigurationServiceImpl extends Object implements MailConfigurationService
MailConfigurationService.MailMode| Constructor and Description |
|---|
MailConfigurationServiceImpl(SecretEncryptionService secretEncryptionService,
BambooPermissionManager bambooPermissionManager,
com.atlassian.struts.TextProvider textProvider) |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteMailServer()
Delete the current mail server configuration
|
@NotNull com.atlassian.mail.server.SMTPMailServer |
getMailServer()
Retrieve the current mail server configuration
|
boolean |
isMailServerConfigured()
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 configuration
|
@NotNull List<String> |
validateJndiLocation(@NotNull String jndiName)
Validates JNDI location for mail server.
|
@Inject
public MailConfigurationServiceImpl(@Lazy
SecretEncryptionService secretEncryptionService,
BambooPermissionManager bambooPermissionManager,
com.atlassian.struts.TextProvider textProvider)
public boolean isMailServerConfigured()
throws UnauthorisedException
MailConfigurationServiceisMailServerConfigured in interface MailConfigurationServiceUnauthorisedException - if user does not have appropriate permissions (System Administrator)@NotNull
public @NotNull com.atlassian.mail.server.SMTPMailServer getMailServer()
throws UnauthorisedException,
NotFoundException
MailConfigurationServicegetMailServer in interface MailConfigurationServiceUnauthorisedException - if user does not have appropriate permissions (System Administrator)NotFoundException - if no mail server configuration is set@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
MailConfigurationServiceupdateMailServer in interface MailConfigurationServicename - 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"WebValidationException - if the supplied parameters are invalidUnauthorisedException - if user does not have appropriate permissions (System Administrator)@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
MailConfigurationServiceupdateMailServer in interface MailConfigurationServicename - 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 SMTPWebValidationException - if the supplied parameters are invalidUnauthorisedException - if user does not have appropriate permissions (System Administrator)public void deleteMailServer()
throws NotFoundException,
com.atlassian.mail.MailException
MailConfigurationServicedeleteMailServer in interface MailConfigurationServiceNotFoundException - if a mail server is not currently setcom.atlassian.mail.MailException - if there is an error attempting to delete the current mail configuration@NotNull public @NotNull List<String> validateJndiLocation(@NotNull @NotNull String jndiName)
MailConfigurationServiceThis 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.
validateJndiLocation in interface MailConfigurationServicejndiName - JNDI address specifying email serverCopyright © 2023 Atlassian Software Systems Pty Ltd. All rights reserved.