(cachedMusicFolders.size());
for (MusicFolder folder : cachedMusicFolders) {
if ((includeDisabled || folder.isEnabled()) && (includeNonExisting || FileUtil.exists(folder.getPath()))) {
@@ -1446,4 +1458,54 @@ public class SettingsService {
public void setVersionService(VersionService versionService) {
this.versionService = versionService;
}
+
+ public String getSmtpServer() {
+ return properties.getProperty(KEY_SMTP_SERVER, DEFAULT_SMTP_SERVER);
+ }
+
+ public void setSmtpServer(String smtpServer) {
+ setString(KEY_SMTP_SERVER, smtpServer);
+ }
+
+ public String getSmtpPort() {
+ return getString(KEY_SMTP_PORT, DEFAULT_SMTP_PORT);
+ }
+
+ public void setSmtpPort(String smtpPort) {
+ setString(KEY_SMTP_PORT, smtpPort);
+ }
+
+ public String getSmtpEncryption() {
+ return properties.getProperty(KEY_SMTP_ENCRYPTION, DEFAULT_SMTP_ENCRYPTION);
+ }
+
+ public void setSmtpEncryption(String encryptionMethod) {
+ setString(KEY_SMTP_ENCRYPTION, encryptionMethod);
+ }
+
+ public String getSmtpUser() {
+ return properties.getProperty(KEY_SMTP_USER, DEFAULT_SMTP_USER);
+ }
+
+ public void setSmtpUser(String smtpUser) {
+ setString(KEY_SMTP_USER, smtpUser);
+ }
+
+ public String getSmtpPassword() {
+ String s = properties.getProperty(KEY_SMTP_PASSWORD, DEFAULT_SMTP_PASSWORD);
+ try {
+ return StringUtil.utf8HexDecode(s);
+ } catch (Exception x) {
+ LOG.warn("Failed to decode Smtp password.", x);
+ return s;
+ }
+ }
+ public void setSmtpPassword(String smtpPassword) {
+ try {
+ smtpPassword = StringUtil.utf8HexEncode(smtpPassword);
+ } catch (Exception x) {
+ LOG.warn("Failed to encode Smtp password.", x);
+ }
+ properties.setProperty(KEY_SMTP_PASSWORD, smtpPassword);
+ }
}
diff --git a/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties
index 0deade45..6fc2cae7 100644
--- a/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties
@@ -341,6 +341,14 @@ advancedsettings.ldapsearchfilter = LDAP search filter
advancedsettings.ldapmanagerdn = LDAP manager DN
(Optional)
advancedsettings.ldapmanagerpassword = Password
advancedsettings.ldapautoshadowing = Automatically create users in {0}
+advancedsettings.smtpPort = SMTP port
+advancedsettings.smtpServer = SMTP server
+advancedsettings.smtpEncryption = SMTP encryption method
+advancedsettings.smtpUser = SMTP username
+advancedsettings.smtpPassword = SMTP password
+advancedsettings.smtpEncryption.none = None
+advancedsettings.smtpEncryption.starttls = STARTTLS
+advancedsettings.smtpEncryption.ssl = SSL/TLS
# personalSettings.jsp
personalsettings.title = Personal settings for {0}
@@ -808,6 +816,15 @@ helppopup.autocontrol.text = With this option selected, {0} will automaticall
in the playlist. Otherwise, you must start and connect the player yourself.
helppopup.dynamicip.title = Dynamic IP address
helppopup.dynamicip.text = Turn off this option if the player uses a static IP address.
+helppopup.smtpServer.title = SMTP Server
+helppopup.smtpServer.text = The hostname of the SMTP server. This server will be used to send e-mails to users \
+ who have requested a password reset.
+helppopup.smtpPort.title = SMTP Port
+helppopup.smtpPort.text = The server's port that should be connected to for SMTP traffic.
+helppopup.smtpUser.title = SMTP User
+helppopup.smtpUser.text = The username to be used to authenticate with the server. Leave empty to connect without authentication.
+helppopup.smtpEncryption.title = SMTP Encryption
+helppopup.smtpEncryption.text = The encryption method to be used to connect to the SMTP server. Choose "None" for no encryption.
# wap/index.jsp
wap.index.missing = No music found
diff --git a/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nl.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nl.properties
index d98cc8e3..2dae8742 100644
--- a/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nl.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nl.properties
@@ -339,6 +339,12 @@ advancedsettings.ldapsearchfilter = LDAP zoekfilter
advancedsettings.ldapmanagerdn = LDAP manager DN
(Optioneel)
advancedsettings.ldapmanagerpassword = Wachtwoord
advancedsettings.ldapautoshadowing = Maak automatisch gebruikers aan in {0}
+advancedsettings.smtpPort = SMTP poort
+advancedsettings.smtpServer = SMTP server
+advancedsettings.smtpEncryption = SMTP versleutelingsmethode
+advancedsettings.smtpUser = SMTP gebruikersnaam
+advancedsettings.smtpPassword = SMTP wachtwoord
+advancedsettings.smtpEncryption.none = Geen
# personalsettings.jsp
personalsettings.title = Persoonlijke instellingen voor {0}
diff --git a/libresonic-main/src/main/webapp/WEB-INF/jsp/advancedSettings.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/advancedSettings.jsp
index 57106568..d12c1975 100644
--- a/libresonic-main/src/main/webapp/WEB-INF/jsp/advancedSettings.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/advancedSettings.jsp
@@ -41,6 +41,56 @@
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+