mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-04 20:45:58 +01:00
(refs #99) Improved to configure the FROM field of the email.
This commit is contained in:
@@ -21,7 +21,9 @@ trait SystemSettingsControllerBase extends ControllerBase with FlashMapSupport {
|
|||||||
"port" -> trim(label("SMTP Port", optional(number()))),
|
"port" -> trim(label("SMTP Port", optional(number()))),
|
||||||
"user" -> trim(label("SMTP User", optional(text()))),
|
"user" -> trim(label("SMTP User", optional(text()))),
|
||||||
"password" -> trim(label("SMTP Password", optional(text()))),
|
"password" -> trim(label("SMTP Password", optional(text()))),
|
||||||
"ssl" -> trim(label("Enable SSL", optional(boolean())))
|
"ssl" -> trim(label("Enable SSL", optional(boolean()))),
|
||||||
|
"fromAddress" -> trim(label("FROM Address", optional(text()))),
|
||||||
|
"fromName" -> trim(label("FROM Name", optional(text())))
|
||||||
)(Smtp.apply)),
|
)(Smtp.apply)),
|
||||||
"ldapAuthentication" -> trim(label("LDAP", boolean())),
|
"ldapAuthentication" -> trim(label("LDAP", boolean())),
|
||||||
"ldap" -> optionalIfNotChecked("ldapAuthentication", mapping(
|
"ldap" -> optionalIfNotChecked("ldapAuthentication", mapping(
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ trait SystemSettingsService {
|
|||||||
smtp.user.foreach(props.setProperty(SmtpUser, _))
|
smtp.user.foreach(props.setProperty(SmtpUser, _))
|
||||||
smtp.password.foreach(props.setProperty(SmtpPassword, _))
|
smtp.password.foreach(props.setProperty(SmtpPassword, _))
|
||||||
smtp.ssl.foreach(x => props.setProperty(SmtpSsl, x.toString))
|
smtp.ssl.foreach(x => props.setProperty(SmtpSsl, x.toString))
|
||||||
|
smtp.fromAddress.foreach(props.setProperty(SmtpFromAddress, _))
|
||||||
|
smtp.fromName.foreach(props.setProperty(SmtpFromName, _))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
props.setProperty(LdapAuthentication, settings.ldapAuthentication.toString)
|
props.setProperty(LdapAuthentication, settings.ldapAuthentication.toString)
|
||||||
@@ -52,7 +54,9 @@ trait SystemSettingsService {
|
|||||||
getOptionValue(props, SmtpPort, Some(DefaultSmtpPort)),
|
getOptionValue(props, SmtpPort, Some(DefaultSmtpPort)),
|
||||||
getOptionValue(props, SmtpUser, None),
|
getOptionValue(props, SmtpUser, None),
|
||||||
getOptionValue(props, SmtpPassword, None),
|
getOptionValue(props, SmtpPassword, None),
|
||||||
getOptionValue[Boolean](props, SmtpSsl, None)))
|
getOptionValue[Boolean](props, SmtpSsl, None),
|
||||||
|
getOptionValue(props, SmtpFromAddress, None),
|
||||||
|
getOptionValue(props, SmtpFromName, None)))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
},
|
},
|
||||||
@@ -100,7 +104,9 @@ object SystemSettingsService {
|
|||||||
port: Option[Int],
|
port: Option[Int],
|
||||||
user: Option[String],
|
user: Option[String],
|
||||||
password: Option[String],
|
password: Option[String],
|
||||||
ssl: Option[Boolean])
|
ssl: Option[Boolean],
|
||||||
|
fromAddress: Option[String],
|
||||||
|
fromName: Option[String])
|
||||||
|
|
||||||
val DefaultSmtpPort = 25
|
val DefaultSmtpPort = 25
|
||||||
val DefaultLdapPort = 389
|
val DefaultLdapPort = 389
|
||||||
@@ -113,6 +119,8 @@ object SystemSettingsService {
|
|||||||
private val SmtpUser = "smtp.user"
|
private val SmtpUser = "smtp.user"
|
||||||
private val SmtpPassword = "smtp.password"
|
private val SmtpPassword = "smtp.password"
|
||||||
private val SmtpSsl = "smtp.ssl"
|
private val SmtpSsl = "smtp.ssl"
|
||||||
|
private val SmtpFromAddress = "smtp.from_address"
|
||||||
|
private val SmtpFromName = "smtp.from_name"
|
||||||
private val LdapAuthentication = "ldap_authentication"
|
private val LdapAuthentication = "ldap_authentication"
|
||||||
private val LdapHost = "ldap.host"
|
private val LdapHost = "ldap.host"
|
||||||
private val LdapPort = "ldap.port"
|
private val LdapPort = "ldap.port"
|
||||||
|
|||||||
@@ -77,7 +77,12 @@ class Mailer(private val smtp: Smtp) extends Notifier {
|
|||||||
smtp.ssl.foreach { ssl =>
|
smtp.ssl.foreach { ssl =>
|
||||||
email.setSSLOnConnect(ssl)
|
email.setSSLOnConnect(ssl)
|
||||||
}
|
}
|
||||||
email.setFrom("notifications@gitbucket.com", context.loginAccount.get.userName)
|
smtp.fromAddress
|
||||||
|
.map (_ -> smtp.fromName.orNull)
|
||||||
|
.orElse (Some("notifications@gitbucket.com" -> context.loginAccount.get.userName))
|
||||||
|
.foreach { case (address, name) =>
|
||||||
|
email.setFrom(address, name)
|
||||||
|
}
|
||||||
email.setHtmlMsg(msg(view.Markdown.toHtml(content, r, false, true)))
|
email.setHtmlMsg(msg(view.Markdown.toHtml(content, r, false, true)))
|
||||||
|
|
||||||
// TODO Can we use the Database Session in other than Transaction Filter?
|
// TODO Can we use the Database Session in other than Transaction Filter?
|
||||||
|
|||||||
@@ -140,6 +140,18 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<label class="control-label" for="fromAddress">FROM Address</label>
|
||||||
|
<div class="controls">
|
||||||
|
<input type="text" id="fromAddress" name="smtp.fromAddress" value="@settings.smtp.map(_.fromAddress)"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<label class="control-label" for="fromName">FROM Name</label>
|
||||||
|
<div class="controls">
|
||||||
|
<input type="text" id="fromName" name="smtp.fromName" value="@settings.smtp.map(_.fromName)"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user