diff --git a/dev/View/Popup/Domain.js b/dev/View/Popup/Domain.js
index 98f6bc4a7..edfb854d3 100644
--- a/dev/View/Popup/Domain.js
+++ b/dev/View/Popup/Domain.js
@@ -26,6 +26,7 @@ const
imapType: 0,
imapTimeout: 300,
imapShortLogin: false,
+ imapLowerLogin: false,
// SSL
imapSslVerify_peer: false,
imapSslAllow_self_signed: false,
@@ -50,6 +51,7 @@ const
smtpType: 0,
smtpTimeout: 60,
smtpShortLogin: false,
+ smtpLowerLogin: false,
smtpUseAuth: true,
smtpSetSender: false,
smtpAuthPlainLine: false,
@@ -69,6 +71,7 @@ const
secure: pInt(oDomain.imapType()),
timeout: oDomain.imapTimeout,
shortLogin: !!oDomain.imapShortLogin(),
+ lowerLogin: !!oDomain.imapLowerLogin(),
ssl: {
verify_peer: !!oDomain.imapSslVerify_peer(),
verify_peer_name: !!oDomain.imapSslVerify_peer(),
@@ -92,6 +95,7 @@ const
secure: pInt(oDomain.smtpType()),
timeout: oDomain.smtpTimeout,
shortLogin: !!oDomain.smtpShortLogin(),
+ lowerLogin: !!oDomain.smtpLowerLogin(),
ssl: {
verify_peer: !!oDomain.smtpSslVerify_peer(),
verify_peer_name: !!oDomain.smtpSslVerify_peer(),
@@ -109,6 +113,7 @@ const
secure: pInt(oDomain.sieveType()),
timeout: oDomain.sieveTimeout,
shortLogin: !!oDomain.imapShortLogin(),
+ lowerLogin: !!oDomain.imapLowerLogin(),
ssl: {
verify_peer: !!oDomain.imapSslVerify_peer(),
verify_peer_name: !!oDomain.imapSslVerify_peer(),
diff --git a/snappymail/v/0.0.0/app/domains/default.json b/snappymail/v/0.0.0/app/domains/default.json
index b93d7dd59..a2034262d 100644
--- a/snappymail/v/0.0.0/app/domains/default.json
+++ b/snappymail/v/0.0.0/app/domains/default.json
@@ -5,6 +5,7 @@
"type": 0,
"timeout": 300,
"shortLogin": false,
+ "lowerLogin": true,
"sasl": [
"SCRAM-SHA3-512",
"SCRAM-SHA-512",
@@ -39,6 +40,7 @@
"type": 0,
"timeout": 60,
"shortLogin": false,
+ "lowerLogin": true,
"sasl": [
"SCRAM-SHA3-512",
"SCRAM-SHA-512",
@@ -65,6 +67,7 @@
"type": 0,
"timeout": 10,
"shortLogin": false,
+ "lowerLogin": true,
"sasl": [
"SCRAM-SHA3-512",
"SCRAM-SHA-512",
diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php b/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php
index 527eba64f..23bd3484b 100644
--- a/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php
+++ b/snappymail/v/0.0.0/app/libraries/MailSo/Net/ConnectSettings.php
@@ -35,9 +35,11 @@ class ConnectSettings implements \JsonSerializable
public SSLContext $ssl;
// public bool $tls_weak = false;
- // Authentication settings use by all child classes
+ // Authentication settings used by all child classes
public bool $useAuth = true;
public bool $shortLogin = false;
+ public bool $lowerLogin = true;
+ public string $stripLogin = '';
public array $SASLMechanisms = [
// https://github.com/the-djmaze/snappymail/issues/182
'SCRAM-SHA3-512',
@@ -77,11 +79,37 @@ class ConnectSettings implements \JsonSerializable
$this->passphrase = \is_string($value) ? new SensitiveString($value) : $value;
}
if ('username' === $name || 'login' === $name) {
- $this->username = \SnappyMail\IDN::emailToAscii($value);
-// $this->username = \SnappyMail\IDN::emailToAscii(\MailSo\Base\Utils::Trim($value));
+ $this->username = $this->fixUsername($value);
}
}
+ public function fixUsername(string $value, bool $allowShorten = true) : string
+ {
+ $value = \SnappyMail\IDN::emailToAscii($value);
+// $value = \SnappyMail\IDN::emailToAscii(\MailSo\Base\Utils::Trim($value));
+ // Strip the domain part
+ if ($this->shortLogin && $allowShorten) {
+ $value = \MailSo\Base\Utils::getEmailAddressLocalPart($value);
+ }
+ // Convert to lowercase
+ if ($this->lowerLogin) {
+ $value = \mb_strtolower($value);
+ }
+ // Strip certain characters
+ if ($this->stripLogin) {
+ $value = \explode('@', $value);
+ if (isset($value[1])) {
+ $domain = \array_pop($value);
+ }
+ $value = \str_replace(\str_split($this->stripLogin), '', $value);
+ if (isset($value[1])) {
+ $value[] = $domain;
+ }
+ $value = \implode('@', $value);
+ }
+ return $value;
+ }
+
public static function fromArray(array $aSettings) : self
{
$object = new static;
@@ -92,6 +120,12 @@ class ConnectSettings implements \JsonSerializable
$object->timeout = $aSettings['timeout'];
}
$object->shortLogin = !empty($aSettings['shortLogin']);
+ if (isset($aSettings['lowerLogin'])) {
+ $object->lowerLogin = !empty($aSettings['lowerLogin']);
+ }
+ if (isset($aSettings['stripLogin'])) {
+ $object->stripLogin = $aSettings['stripLogin'];
+ }
$object->ssl = SSLContext::fromArray($aSettings['ssl'] ?? []);
if (!empty($aSettings['sasl']) && \is_array($aSettings['sasl'])) {
$object->SASLMechanisms = $aSettings['sasl'];
@@ -110,6 +144,8 @@ class ConnectSettings implements \JsonSerializable
'type' => $this->type,
'timeout' => $this->timeout,
'shortLogin' => $this->shortLogin,
+ 'lowerLogin' => $this->lowerLogin,
+ 'stripLogin' => $this->stripLogin,
'sasl' => $this->SASLMechanisms,
'ssl' => $this->ssl
// 'tls_weak' => $this->tls_weak
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/UserAuth.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/UserAuth.php
index ba8879736..c31a74742 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/UserAuth.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/UserAuth.php
@@ -26,15 +26,13 @@ trait UserAuth
public function resolveLoginCredentials(string &$sEmail, \SnappyMail\SensitiveString $oPassword, string &$sLogin): void
{
$sEmail = \SnappyMail\IDN::emailToAscii(\MailSo\Base\Utils::Trim($sEmail));
- if ($this->Config()->Get('login', 'login_lowercase', true)) {
- $sEmail = \mb_strtolower($sEmail);
- }
$this->Plugins()->RunHook('login.credentials.step-1', array(&$sEmail));
+ $oDomain = null;
+ $oDomainProvider = $this->DomainProvider();
if (!\str_contains($sEmail, '@')) {
$this->logWrite("The email address '{$sEmail}' is incomplete", \LOG_INFO, 'LOGIN');
- $oDomain = null;
if ($this->Config()->Get('login', 'determine_user_domain', false)) {
// $sUserHost = \SnappyMail\IDN::toAscii($this->Http()->GetHost(false, true));
$sUserHost = \strtolower(\idn_to_ascii($this->Http()->GetHost(false, true)));
@@ -42,7 +40,6 @@ trait UserAuth
$aDomainParts = \explode('.', $sUserHost);
$iLimit = \min(\count($aDomainParts), 14);
- $oDomainProvider = $this->DomainProvider();
while (0 < $iLimit--) {
$sLine = \implode('.', $aDomainParts);
$oDomain = $oDomainProvider->Load($sLine, false);
@@ -92,8 +89,11 @@ trait UserAuth
$this->logMask($sPassword);
$sLogin = $sEmail;
- if ($this->Config()->Get('login', 'login_lowercase', true)) {
- $sLogin = \mb_strtolower($sLogin);
+ if (\str_contains($sEmail, '@')
+ && ($oDomain || ($oDomain = $oDomainProvider->Load(\MailSo\Base\Utils::getEmailAddressDomain($sEmail))))
+ ) {
+ $sEmail = $oDomain->ImapSettings()->fixUsername($sEmail, false);
+ $sLogin = $oDomain->ImapSettings()->fixUsername($sLogin);
}
$this->Plugins()->RunHook('login.credentials', array(&$sEmail, &$sLogin, &$sPassword));
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php
index f1fb8bfab..407845a7b 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php
@@ -282,8 +282,6 @@ When this value is gethostname, the gethostname() value is used.
'determine_user_language' => array(true, 'Detect language from browser header `Accept-Language`'),
'determine_user_domain' => array(false, 'Like default_domain but then HTTP_HOST/SERVER_NAME without www.'),
- 'login_lowercase' => array(true),
-
'sign_me_auto' => array(\RainLoop\Enumerations\SignMeType::DefaultOff,
'This option allows webmail to remember the logged in user
once they closed the browser window.
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php
index 75bfddbcd..b6a4208d7 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Account.php
@@ -35,9 +35,7 @@ abstract class Account implements \JsonSerializable
public function IncLogin() : string
{
- return $this->oDomain->ImapSettings()->shortLogin
- ? \MailSo\Base\Utils::getEmailAddressLocalPart($this->sLogin)
- : $this->sLogin;
+ return $this->sLogin;
}
public function IncPassword() : string
@@ -47,10 +45,7 @@ abstract class Account implements \JsonSerializable
public function OutLogin() : string
{
- $sSmtpLogin = $this->sSmtpLogin ?: $this->sLogin;
- return $this->oDomain->SmtpSettings()->shortLogin
- ? \MailSo\Base\Utils::getEmailAddressLocalPart($sSmtpLogin)
- : $sSmtpLogin;
+ return $this->sSmtpLogin ?: $this->sLogin;
}
public function Domain() : Domain
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Domain.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Domain.php
index 30071974c..e173c1418 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Domain.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Model/Domain.php
@@ -108,12 +108,12 @@ class Domain implements \JsonSerializable
{
$sW = \trim($this->whiteList);
if ($sW) {
- $sEmail = \mb_strtolower($sEmail);
- $sLogin = \mb_strtolower($sLogin);
+ $sEmail = $this->IMAP->fixUsername($sEmail);
+ $sLogin = $this->IMAP->fixUsername($sLogin);
$sUserPart = \MailSo\Base\Utils::getEmailAddressLocalPart($sLogin ?: $sEmail);
$sItem = \strtok($sW, " ;,\n");
while (false !== $sItem) {
- $sItem = \mb_strtolower(\idn_to_ascii(\trim($sItem)));
+ $sItem = $this->IMAP->fixUsername(\trim($sItem));
if ($sItem && (
$sLogin === $sItem || $sEmail === $sItem
|| $sUserPart === $sItem || \str_starts_with($sItem, "{$sUserPart}@")
diff --git a/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json b/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json
index 22596d711..ea435917e 100644
--- a/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json
+++ b/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Žádné",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Povolit SIEVE skripty",
"LABEL_USE_SHORT_LOGIN": "Používat krátký login",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Používat autorizaci",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/da-DK/admin.json b/snappymail/v/0.0.0/app/localization/da-DK/admin.json
index f594087c0..7b2a266ef 100644
--- a/snappymail/v/0.0.0/app/localization/da-DK/admin.json
+++ b/snappymail/v/0.0.0/app/localization/da-DK/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Ingen",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Tillad sieve skripts",
"LABEL_USE_SHORT_LOGIN": "Brug kort log ind",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Brug godkendelse",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/de-DE/admin.json b/snappymail/v/0.0.0/app/localization/de-DE/admin.json
index 2c903af43..ca7f2eaaf 100644
--- a/snappymail/v/0.0.0/app/localization/de-DE/admin.json
+++ b/snappymail/v/0.0.0/app/localization/de-DE/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Ohne",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Sieve-Skripte erlauben",
"LABEL_USE_SHORT_LOGIN": "Kurze Benutzernamen verwenden",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Authentifizierung verwenden",
"LABEL_SET_SENDER": "Verwenden Sie die Anmeldung als Absender",
"LABEL_AUTH_PLAIN_LINE": "Erzwinge einzelnen AUTH PLAIN Befehl bei der Anmeldung",
diff --git a/snappymail/v/0.0.0/app/localization/en/admin.json b/snappymail/v/0.0.0/app/localization/en/admin.json
index 653d97d60..9bcdff2ca 100644
--- a/snappymail/v/0.0.0/app/localization/en/admin.json
+++ b/snappymail/v/0.0.0/app/localization/en/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "None",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Allow sieve scripts",
"LABEL_USE_SHORT_LOGIN": "Use short login",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Use authentication",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/es-ES/admin.json b/snappymail/v/0.0.0/app/localization/es-ES/admin.json
index 0e71c69f9..9c6786f40 100644
--- a/snappymail/v/0.0.0/app/localization/es-ES/admin.json
+++ b/snappymail/v/0.0.0/app/localization/es-ES/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Ninguno",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Permitir scripts de filtro",
"LABEL_USE_SHORT_LOGIN": "Inicio de Sesión corto",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Usar autenticación",
"LABEL_SET_SENDER": "Usar inicio de sesión como remitente",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/eu/admin.json b/snappymail/v/0.0.0/app/localization/eu/admin.json
index 102fd35ec..0b9de0748 100644
--- a/snappymail/v/0.0.0/app/localization/eu/admin.json
+++ b/snappymail/v/0.0.0/app/localization/eu/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Bat ere ez",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Onartu sieve scriptak",
"LABEL_USE_SHORT_LOGIN": "Erabili login motza",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Erabili autentikazioa",
"LABEL_SET_SENDER": "Erabili logina bidaltzaile bezala",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/fa-IR/admin.json b/snappymail/v/0.0.0/app/localization/fa-IR/admin.json
index afe872e08..f417be92c 100644
--- a/snappymail/v/0.0.0/app/localization/fa-IR/admin.json
+++ b/snappymail/v/0.0.0/app/localization/fa-IR/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "هیچکدام",
"LABEL_ALLOW_SIEVE_SCRIPTS": "اجازه به اجراشوندههای sieve",
"LABEL_USE_SHORT_LOGIN": "استفاده از ورود کوتاه بدون دامنه",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "استفاده از احراز هویت",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/fi-FI/admin.json b/snappymail/v/0.0.0/app/localization/fi-FI/admin.json
index dfe348b43..37b37a19f 100644
--- a/snappymail/v/0.0.0/app/localization/fi-FI/admin.json
+++ b/snappymail/v/0.0.0/app/localization/fi-FI/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Ei mitään",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Salli sieve skriptit",
"LABEL_USE_SHORT_LOGIN": "Käytä lyhyttä kirjautumista",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Käytä tunnistautumista",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/fr-FR/admin.json b/snappymail/v/0.0.0/app/localization/fr-FR/admin.json
index 96bb7ef27..95c08c7c0 100644
--- a/snappymail/v/0.0.0/app/localization/fr-FR/admin.json
+++ b/snappymail/v/0.0.0/app/localization/fr-FR/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Aucun",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Autoriser les scripts sieve",
"LABEL_USE_SHORT_LOGIN": "Utiliser l'identifiant court",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Utiliser l'authentification",
"LABEL_SET_SENDER": "Utiliser la connexion en tant qu'expéditeur",
"LABEL_AUTH_PLAIN_LINE": "Forcer l'authentification AUTH PLAIN",
diff --git a/snappymail/v/0.0.0/app/localization/hu-HU/admin.json b/snappymail/v/0.0.0/app/localization/hu-HU/admin.json
index 1c51ce2c3..161fe5c6c 100644
--- a/snappymail/v/0.0.0/app/localization/hu-HU/admin.json
+++ b/snappymail/v/0.0.0/app/localization/hu-HU/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Semmi",
"LABEL_ALLOW_SIEVE_SCRIPTS": "SIEVE szkriptek engedélyezése",
"LABEL_USE_SHORT_LOGIN": "Rövid felhasználónév használata",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Hitelesítés használata",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/id-ID/admin.json b/snappymail/v/0.0.0/app/localization/id-ID/admin.json
index 9a7b32d61..b18ac3de1 100644
--- a/snappymail/v/0.0.0/app/localization/id-ID/admin.json
+++ b/snappymail/v/0.0.0/app/localization/id-ID/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Tidak satupun",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Izinkan script sieve",
"LABEL_USE_SHORT_LOGIN": "Gunakan login singkat",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Gunakan otentikasi",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/it-IT/admin.json b/snappymail/v/0.0.0/app/localization/it-IT/admin.json
index fb82d8802..b997dfd1a 100644
--- a/snappymail/v/0.0.0/app/localization/it-IT/admin.json
+++ b/snappymail/v/0.0.0/app/localization/it-IT/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "None",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Permetti scripts sieve",
"LABEL_USE_SHORT_LOGIN": "Usa login breve",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Usa autenticazione",
"LABEL_SET_SENDER": "Usa login come mittente",
"LABEL_AUTH_PLAIN_LINE": "Force login a comando singolo AUTH PLAIN",
diff --git a/snappymail/v/0.0.0/app/localization/ja-JP/admin.json b/snappymail/v/0.0.0/app/localization/ja-JP/admin.json
index 1d4aa3e8d..9f782284a 100644
--- a/snappymail/v/0.0.0/app/localization/ja-JP/admin.json
+++ b/snappymail/v/0.0.0/app/localization/ja-JP/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "なし",
"LABEL_ALLOW_SIEVE_SCRIPTS": "SIEVEスクリプトを使用する",
"LABEL_USE_SHORT_LOGIN": "短いログイン名を使う",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "認証を使用する",
"LABEL_SET_SENDER": "ログイン名を送信者として使う",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/lt-LT/admin.json b/snappymail/v/0.0.0/app/localization/lt-LT/admin.json
index 1dd4ccd2f..c448090c7 100644
--- a/snappymail/v/0.0.0/app/localization/lt-LT/admin.json
+++ b/snappymail/v/0.0.0/app/localization/lt-LT/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Nėra",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Leisti sieve programavimą",
"LABEL_USE_SHORT_LOGIN": "Naudoti trumpą prisijungimo vardą",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Naudoti autentifikavimą ",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/nb-NO/admin.json b/snappymail/v/0.0.0/app/localization/nb-NO/admin.json
index ed333bac6..4bc6ca21d 100644
--- a/snappymail/v/0.0.0/app/localization/nb-NO/admin.json
+++ b/snappymail/v/0.0.0/app/localization/nb-NO/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Ingen",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Tillat sieve-skript",
"LABEL_USE_SHORT_LOGIN": "Bruk forkortet brukernavn",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Bruk autentisering",
"LABEL_SET_SENDER": "Bruk pålogging som avsender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/nl-NL/admin.json b/snappymail/v/0.0.0/app/localization/nl-NL/admin.json
index a209e87af..e9922dc37 100644
--- a/snappymail/v/0.0.0/app/localization/nl-NL/admin.json
+++ b/snappymail/v/0.0.0/app/localization/nl-NL/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Geen",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Sta Sieve scripts toe",
"LABEL_USE_SHORT_LOGIN": "Gebruik verkorte login",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Gebruik authenticatie",
"LABEL_SET_SENDER": "Gebruik login als verzender",
"LABEL_AUTH_PLAIN_LINE": "Forceer een enkele opdracht AUTH PLAIN-aanmelding",
diff --git a/snappymail/v/0.0.0/app/localization/pl-PL/admin.json b/snappymail/v/0.0.0/app/localization/pl-PL/admin.json
index 4be2608ac..bd200dc10 100644
--- a/snappymail/v/0.0.0/app/localization/pl-PL/admin.json
+++ b/snappymail/v/0.0.0/app/localization/pl-PL/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Bez zabezpieczeń",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Zezwól na skrypty sieve",
"LABEL_USE_SHORT_LOGIN": "Użyj krótkiego loginu",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Użyj uwierzytelnienia",
"LABEL_SET_SENDER": "Użyj loginu jako nadawcy",
"LABEL_AUTH_PLAIN_LINE": "Wymuś logowanie pojedynczą komendą AUTH PLAIN",
diff --git a/snappymail/v/0.0.0/app/localization/pt-BR/admin.json b/snappymail/v/0.0.0/app/localization/pt-BR/admin.json
index c47bcc6cf..9e2219f5c 100644
--- a/snappymail/v/0.0.0/app/localization/pt-BR/admin.json
+++ b/snappymail/v/0.0.0/app/localization/pt-BR/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Nenhuma",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Permitir scripts sieve",
"LABEL_USE_SHORT_LOGIN": "Usar login curto",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Usar autenticação",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/pt-PT/admin.json b/snappymail/v/0.0.0/app/localization/pt-PT/admin.json
index fd9e20182..af9bc0188 100644
--- a/snappymail/v/0.0.0/app/localization/pt-PT/admin.json
+++ b/snappymail/v/0.0.0/app/localization/pt-PT/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Nenhuma",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Permitir scripts sieve",
"LABEL_USE_SHORT_LOGIN": "Usar nome de utilizador curto",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Usar autenticação",
"LABEL_SET_SENDER": "Usar nome de utilizador como remetente",
"LABEL_AUTH_PLAIN_LINE": "Forçar comando AUTH PLAIN único para autenticar",
diff --git a/snappymail/v/0.0.0/app/localization/pt/admin.json b/snappymail/v/0.0.0/app/localization/pt/admin.json
index fd9e20182..af9bc0188 100644
--- a/snappymail/v/0.0.0/app/localization/pt/admin.json
+++ b/snappymail/v/0.0.0/app/localization/pt/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Nenhuma",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Permitir scripts sieve",
"LABEL_USE_SHORT_LOGIN": "Usar nome de utilizador curto",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Usar autenticação",
"LABEL_SET_SENDER": "Usar nome de utilizador como remetente",
"LABEL_AUTH_PLAIN_LINE": "Forçar comando AUTH PLAIN único para autenticar",
diff --git a/snappymail/v/0.0.0/app/localization/ru-RU/admin.json b/snappymail/v/0.0.0/app/localization/ru-RU/admin.json
index a9e9a83a5..a96033931 100644
--- a/snappymail/v/0.0.0/app/localization/ru-RU/admin.json
+++ b/snappymail/v/0.0.0/app/localization/ru-RU/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Нет",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Разрешить Sieve сценарии",
"LABEL_USE_SHORT_LOGIN": "Использовать короткий логин",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Использовать аутентификацию",
"LABEL_SET_SENDER": "Использовать логин в качестве отправителя",
"LABEL_AUTH_PLAIN_LINE": "Принудительный вход командой AUTH PLAIN",
diff --git a/snappymail/v/0.0.0/app/localization/sk-SK/admin.json b/snappymail/v/0.0.0/app/localization/sk-SK/admin.json
index 50be714a8..b046351be 100644
--- a/snappymail/v/0.0.0/app/localization/sk-SK/admin.json
+++ b/snappymail/v/0.0.0/app/localization/sk-SK/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Žiadne",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Povoliť Sieve skripty",
"LABEL_USE_SHORT_LOGIN": "Použiť skrátené prihlásenie",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Použiť overenie",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/sl-SI/admin.json b/snappymail/v/0.0.0/app/localization/sl-SI/admin.json
index 3ba99e933..8e5ee249a 100644
--- a/snappymail/v/0.0.0/app/localization/sl-SI/admin.json
+++ b/snappymail/v/0.0.0/app/localization/sl-SI/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Nobeno",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Dovoljene sieve skripte",
"LABEL_USE_SHORT_LOGIN": "Uporaba uporabniškega imena brez domene",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Uporaba overjanja",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/sv-SE/admin.json b/snappymail/v/0.0.0/app/localization/sv-SE/admin.json
index af27b057a..435be73b9 100644
--- a/snappymail/v/0.0.0/app/localization/sv-SE/admin.json
+++ b/snappymail/v/0.0.0/app/localization/sv-SE/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Ingen",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Tillåta sikt skript",
"LABEL_USE_SHORT_LOGIN": "Använda korta inloggning",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Använd autentisering",
"LABEL_SET_SENDER": "Use login as sender",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/vi-VN/admin.json b/snappymail/v/0.0.0/app/localization/vi-VN/admin.json
index a0d522084..9a54b6899 100644
--- a/snappymail/v/0.0.0/app/localization/vi-VN/admin.json
+++ b/snappymail/v/0.0.0/app/localization/vi-VN/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "Không có",
"LABEL_ALLOW_SIEVE_SCRIPTS": "Cho phép script của sieve",
"LABEL_USE_SHORT_LOGIN": "Dùng đăng nhập ngắn",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "Dùng xác minh",
"LABEL_SET_SENDER": "Dùng tên đăng nhập là email người dùng",
"LABEL_AUTH_PLAIN_LINE": "Force single command AUTH PLAIN login",
diff --git a/snappymail/v/0.0.0/app/localization/zh-CN/admin.json b/snappymail/v/0.0.0/app/localization/zh-CN/admin.json
index ae35c5bce..74d63cf9e 100644
--- a/snappymail/v/0.0.0/app/localization/zh-CN/admin.json
+++ b/snappymail/v/0.0.0/app/localization/zh-CN/admin.json
@@ -136,6 +136,7 @@
"SECURE_OPTION_NONE": "无",
"LABEL_ALLOW_SIEVE_SCRIPTS": "可使用筛选脚本",
"LABEL_USE_SHORT_LOGIN": "使用短用户名登录",
+ "LABEL_LOWERCASE_LOGIN": "Lowercase login (case-insensitive)",
"LABEL_USE_AUTH": "使用认证",
"LABEL_SET_SENDER": "使用登录名作为发件人",
"LABEL_AUTH_PLAIN_LINE": "强制单一 AUTH PLAIN 命令登录",
diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsDomain.html b/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsDomain.html
index ea5dac24c..b5d07b8aa 100644
--- a/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsDomain.html
+++ b/snappymail/v/0.0.0/app/templates/Views/Admin/PopupsDomain.html
@@ -60,7 +60,17 @@
value: imapShortLogin
}
}">
- (user@domain.com → user)
+ (user@example.com → user)
+ (user@example.com → user)
+
+