mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-06 07:57:02 +03:00
Based on RainLoop discussion #2079,
i've added a security option to set Sender per Domain. NOTE: Not tested yet
This commit is contained in:
parent
10de3b8138
commit
f69b1195e6
13 changed files with 75 additions and 28 deletions
|
|
@ -168,6 +168,7 @@ class RemoteAdminFetch extends AbstractFetchRemote {
|
||||||
OutSecure: oDomain.smtpSecure(),
|
OutSecure: oDomain.smtpSecure(),
|
||||||
OutShortLogin: oDomain.smtpShortLogin() ? 1 : 0,
|
OutShortLogin: oDomain.smtpShortLogin() ? 1 : 0,
|
||||||
OutAuth: oDomain.smtpAuth() ? 1 : 0,
|
OutAuth: oDomain.smtpAuth() ? 1 : 0,
|
||||||
|
OutSetSender: oDomain.smtpSetSender() ? 1 : 0,
|
||||||
OutUsePhpMail: oDomain.smtpPhpMail() ? 1 : 0,
|
OutUsePhpMail: oDomain.smtpPhpMail() ? 1 : 0,
|
||||||
|
|
||||||
WhiteList: oDomain.whiteList()
|
WhiteList: oDomain.whiteList()
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ class DomainPopupView extends AbstractViewPopup {
|
||||||
smtpSecure: 0,
|
smtpSecure: 0,
|
||||||
smtpShortLogin: false,
|
smtpShortLogin: false,
|
||||||
smtpAuth: true,
|
smtpAuth: true,
|
||||||
|
smtpSetSender: false,
|
||||||
smtpPhpMail: false,
|
smtpPhpMail: false,
|
||||||
whiteList: '',
|
whiteList: '',
|
||||||
aliasName: '',
|
aliasName: '',
|
||||||
|
|
@ -298,6 +299,7 @@ class DomainPopupView extends AbstractViewPopup {
|
||||||
this.smtpSecure(oDomain.OutSecure);
|
this.smtpSecure(oDomain.OutSecure);
|
||||||
this.smtpShortLogin(!!oDomain.OutShortLogin);
|
this.smtpShortLogin(!!oDomain.OutShortLogin);
|
||||||
this.smtpAuth(!!oDomain.OutAuth);
|
this.smtpAuth(!!oDomain.OutAuth);
|
||||||
|
this.smtpSetSender(!!oDomain.OutSetSender);
|
||||||
this.smtpPhpMail(!!oDomain.OutUsePhpMail);
|
this.smtpPhpMail(!!oDomain.OutUsePhpMail);
|
||||||
this.whiteList(oDomain.WhiteList);
|
this.whiteList(oDomain.WhiteList);
|
||||||
this.aliasName(oDomain.AliasName);
|
this.aliasName(oDomain.AliasName);
|
||||||
|
|
@ -333,6 +335,7 @@ class DomainPopupView extends AbstractViewPopup {
|
||||||
this.smtpSecure(0);
|
this.smtpSecure(0);
|
||||||
this.smtpShortLogin(false);
|
this.smtpShortLogin(false);
|
||||||
this.smtpAuth(true);
|
this.smtpAuth(true);
|
||||||
|
this.smtpSetSender(true);
|
||||||
this.smtpPhpMail(false);
|
this.smtpPhpMail(false);
|
||||||
|
|
||||||
this.whiteList('');
|
this.whiteList('');
|
||||||
|
|
|
||||||
|
|
@ -1013,6 +1013,9 @@ trait Messages
|
||||||
{
|
{
|
||||||
$oMessage->SetFrom(new \MailSo\Mime\Email(
|
$oMessage->SetFrom(new \MailSo\Mime\Email(
|
||||||
$oFromIdentity->Email(), $oFromIdentity->Name()));
|
$oFromIdentity->Email(), $oFromIdentity->Name()));
|
||||||
|
if ($oAccount->Domain()->OutSetSender()) {
|
||||||
|
$oMessage->SetSender(\MailSo\Mime\Email::Parse($oAccount->Email()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,11 @@ class Domain implements \JsonSerializable
|
||||||
*/
|
*/
|
||||||
private $bOutAuth;
|
private $bOutAuth;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $bOutSetSender;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
|
|
@ -97,7 +102,8 @@ class Domain implements \JsonSerializable
|
||||||
string $sIncHost, int $iIncPort, int $iIncSecure, bool $bIncShortLogin,
|
string $sIncHost, int $iIncPort, int $iIncSecure, bool $bIncShortLogin,
|
||||||
bool $bUseSieve, string $sSieveHost, int $iSievePort, int $iSieveSecure,
|
bool $bUseSieve, string $sSieveHost, int $iSievePort, int $iSieveSecure,
|
||||||
string $sOutHost, int $iOutPort, int $iOutSecure, bool $bOutShortLogin,
|
string $sOutHost, int $iOutPort, int $iOutSecure, bool $bOutShortLogin,
|
||||||
bool $bOutAuth, bool $bOutUsePhpMail = false, string $sWhiteList = '')
|
bool $bOutAuth, bool $bOutSetSender, bool $bOutUsePhpMail = false,
|
||||||
|
string $sWhiteList = '')
|
||||||
{
|
{
|
||||||
$this->sName = $sName;
|
$this->sName = $sName;
|
||||||
$this->sIncHost = $sIncHost;
|
$this->sIncHost = $sIncHost;
|
||||||
|
|
@ -110,6 +116,7 @@ class Domain implements \JsonSerializable
|
||||||
$this->iOutSecure = $iOutSecure;
|
$this->iOutSecure = $iOutSecure;
|
||||||
$this->bOutShortLogin = $bOutShortLogin;
|
$this->bOutShortLogin = $bOutShortLogin;
|
||||||
$this->bOutAuth = $bOutAuth;
|
$this->bOutAuth = $bOutAuth;
|
||||||
|
$this->bOutSetSender = $bOutSetSender;
|
||||||
$this->bOutUsePhpMail = $bOutUsePhpMail;
|
$this->bOutUsePhpMail = $bOutUsePhpMail;
|
||||||
|
|
||||||
$this->bUseSieve = $bUseSieve;
|
$this->bUseSieve = $bUseSieve;
|
||||||
|
|
@ -145,6 +152,7 @@ class Domain implements \JsonSerializable
|
||||||
!empty($aDomain['smtp_secure']) ? $aDomain['smtp_secure'] : '');
|
!empty($aDomain['smtp_secure']) ? $aDomain['smtp_secure'] : '');
|
||||||
|
|
||||||
$bOutAuth = !empty($aDomain['smtp_auth']);
|
$bOutAuth = !empty($aDomain['smtp_auth']);
|
||||||
|
$bOutSetSender = !empty($aDomain['smtp_set_sender']);
|
||||||
$bOutUsePhpMail = !empty($aDomain['smtp_php_mail']);
|
$bOutUsePhpMail = !empty($aDomain['smtp_php_mail']);
|
||||||
$sWhiteList = (string) ($aDomain['white_list'] ?? '');
|
$sWhiteList = (string) ($aDomain['white_list'] ?? '');
|
||||||
|
|
||||||
|
|
@ -154,7 +162,7 @@ class Domain implements \JsonSerializable
|
||||||
$oDomain = new self($sName,
|
$oDomain = new self($sName,
|
||||||
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
||||||
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
||||||
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail,
|
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutSetSender, $bOutUsePhpMail,
|
||||||
$sWhiteList);
|
$sWhiteList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -206,6 +214,7 @@ class Domain implements \JsonSerializable
|
||||||
'smtp_secure = "'.self::ConstConnectionSecurityTypeToStr($this->iOutSecure).'"',
|
'smtp_secure = "'.self::ConstConnectionSecurityTypeToStr($this->iOutSecure).'"',
|
||||||
'smtp_short_login = '.($this->bOutShortLogin ? 'On' : 'Off'),
|
'smtp_short_login = '.($this->bOutShortLogin ? 'On' : 'Off'),
|
||||||
'smtp_auth = '.($this->bOutAuth ? 'On' : 'Off'),
|
'smtp_auth = '.($this->bOutAuth ? 'On' : 'Off'),
|
||||||
|
'smtp_set_sender = '.($this->bOutSetSender ? 'On' : 'Off'),
|
||||||
'smtp_php_mail = '.($this->bOutUsePhpMail ? 'On' : 'Off'),
|
'smtp_php_mail = '.($this->bOutUsePhpMail ? 'On' : 'Off'),
|
||||||
'white_list = "'.$this->encodeIniString($this->sWhiteList).'"'
|
'white_list = "'.$this->encodeIniString($this->sWhiteList).'"'
|
||||||
));
|
));
|
||||||
|
|
@ -246,7 +255,8 @@ class Domain implements \JsonSerializable
|
||||||
string $sIncHost, int $iIncPort, int $iIncSecure, bool $bIncShortLogin,
|
string $sIncHost, int $iIncPort, int $iIncSecure, bool $bIncShortLogin,
|
||||||
bool $bUseSieve, string $sSieveHost, int $iSievePort, int $iSieveSecure,
|
bool $bUseSieve, string $sSieveHost, int $iSievePort, int $iSieveSecure,
|
||||||
string $sOutHost, int $iOutPort, int $iOutSecure, bool $bOutShortLogin,
|
string $sOutHost, int $iOutPort, int $iOutSecure, bool $bOutShortLogin,
|
||||||
bool $bOutAuth, bool $bOutUsePhpMail, string $sWhiteList = '') : self
|
bool $bOutAuth, bool $bOutSetSender, bool $bOutUsePhpMail,
|
||||||
|
string $sWhiteList = '') : self
|
||||||
{
|
{
|
||||||
$this->sIncHost = \MailSo\Base\Utils::IdnToAscii($sIncHost);
|
$this->sIncHost = \MailSo\Base\Utils::IdnToAscii($sIncHost);
|
||||||
$this->iIncPort = $iIncPort;
|
$this->iIncPort = $iIncPort;
|
||||||
|
|
@ -263,6 +273,7 @@ class Domain implements \JsonSerializable
|
||||||
$this->iOutSecure = $iOutSecure;
|
$this->iOutSecure = $iOutSecure;
|
||||||
$this->bOutShortLogin = $bOutShortLogin;
|
$this->bOutShortLogin = $bOutShortLogin;
|
||||||
$this->bOutAuth = $bOutAuth;
|
$this->bOutAuth = $bOutAuth;
|
||||||
|
$this->bOutSetSender = $bOutSetSender;
|
||||||
$this->bOutUsePhpMail = $bOutUsePhpMail;
|
$this->bOutUsePhpMail = $bOutUsePhpMail;
|
||||||
|
|
||||||
$this->sWhiteList = \trim($sWhiteList);
|
$this->sWhiteList = \trim($sWhiteList);
|
||||||
|
|
@ -340,6 +351,11 @@ class Domain implements \JsonSerializable
|
||||||
return $this->bOutAuth;
|
return $this->bOutAuth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function OutSetSender() : bool
|
||||||
|
{
|
||||||
|
return $this->bOutSetSender;
|
||||||
|
}
|
||||||
|
|
||||||
public function OutUsePhpMail() : bool
|
public function OutUsePhpMail() : bool
|
||||||
{
|
{
|
||||||
return $this->bOutUsePhpMail;
|
return $this->bOutUsePhpMail;
|
||||||
|
|
@ -397,6 +413,7 @@ class Domain implements \JsonSerializable
|
||||||
'OutSecure' => $this->OutSecure(),
|
'OutSecure' => $this->OutSecure(),
|
||||||
'OutShortLogin' => $this->OutShortLogin(),
|
'OutShortLogin' => $this->OutShortLogin(),
|
||||||
'OutAuth' => $this->OutAuth(),
|
'OutAuth' => $this->OutAuth(),
|
||||||
|
'OutSetSender' => $this->OutSetSender(),
|
||||||
'OutUsePhpMail' => $this->OutUsePhpMail(),
|
'OutUsePhpMail' => $this->OutUsePhpMail(),
|
||||||
'WhiteList' => $this->WhiteList(),
|
'WhiteList' => $this->WhiteList(),
|
||||||
'AliasName' => $this->AliasName()
|
'AliasName' => $this->AliasName()
|
||||||
|
|
@ -421,6 +438,7 @@ class Domain implements \JsonSerializable
|
||||||
'OutSecure' => $this->OutSecure(),
|
'OutSecure' => $this->OutSecure(),
|
||||||
'OutShortLogin' => $this->OutShortLogin(),
|
'OutShortLogin' => $this->OutShortLogin(),
|
||||||
'OutAuth' => $this->OutAuth(),
|
'OutAuth' => $this->OutAuth(),
|
||||||
|
'OutSetSender' => $this->OutSetSender(),
|
||||||
'OutUsePhpMail' => $this->OutUsePhpMail(),
|
'OutUsePhpMail' => $this->OutUsePhpMail(),
|
||||||
'WhiteList' => $this->WhiteList(),
|
'WhiteList' => $this->WhiteList(),
|
||||||
'AliasName' => $this->AliasName()
|
'AliasName' => $this->AliasName()
|
||||||
|
|
|
||||||
|
|
@ -96,31 +96,33 @@ class Domain extends AbstractProvider
|
||||||
|
|
||||||
if ($this->bAdmin)
|
if ($this->bAdmin)
|
||||||
{
|
{
|
||||||
$bCreate = '1' === (string) $oActions->GetActionParam('Create', '0');
|
|
||||||
$sName = (string) $oActions->GetActionParam('Name', '');
|
$sName = (string) $oActions->GetActionParam('Name', '');
|
||||||
$sIncHost = (string) $oActions->GetActionParam('IncHost', '');
|
|
||||||
$iIncPort = (int) $oActions->GetActionParam('IncPort', 143);
|
|
||||||
$iIncSecure = (int) $oActions->GetActionParam('IncSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
|
||||||
$bIncShortLogin = '1' === (string) $oActions->GetActionParam('IncShortLogin', '0');
|
|
||||||
$bUseSieve = '1' === (string) $oActions->GetActionParam('UseSieve', '0');
|
|
||||||
$sSieveHost = (string) $oActions->GetActionParam('SieveHost', '');
|
|
||||||
$iSievePort = (int) $oActions->GetActionParam('SievePort', 4190);
|
|
||||||
$iSieveSecure = (int) $oActions->GetActionParam('SieveSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
|
||||||
$sOutHost = (string) $oActions->GetActionParam('OutHost', '');
|
|
||||||
$iOutPort = (int) $oActions->GetActionParam('OutPort', 25);
|
|
||||||
$iOutSecure = (int) $oActions->GetActionParam('OutSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
|
||||||
$bOutShortLogin = '1' === (string) $oActions->GetActionParam('OutShortLogin', '0');
|
|
||||||
$bOutAuth = '1' === (string) $oActions->GetActionParam('OutAuth', '1');
|
|
||||||
$bOutUsePhpMail = '1' === (string) $oActions->GetActionParam('OutUsePhpMail', '0');
|
|
||||||
$sWhiteList = (string) $oActions->GetActionParam('WhiteList', '');
|
|
||||||
|
|
||||||
if (0 < \strlen($sName) && 0 < strlen($sNameForTest) && false === \strpos($sName, '*'))
|
if (0 < \strlen($sName) && 0 < \strlen($sNameForTest) && !\str_contains($sName, '*'))
|
||||||
{
|
{
|
||||||
$sNameForTest = '';
|
$sNameForTest = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0 < strlen($sName) || 0 < strlen($sNameForTest))
|
if (0 < strlen($sName) || 0 < strlen($sNameForTest))
|
||||||
{
|
{
|
||||||
|
$bCreate = '1' === (string) $oActions->GetActionParam('Create', '0');
|
||||||
|
$sIncHost = (string) $oActions->GetActionParam('IncHost', '');
|
||||||
|
$iIncPort = (int) $oActions->GetActionParam('IncPort', 143);
|
||||||
|
$iIncSecure = (int) $oActions->GetActionParam('IncSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
||||||
|
$bIncShortLogin = '1' === (string) $oActions->GetActionParam('IncShortLogin', '0');
|
||||||
|
$bUseSieve = '1' === (string) $oActions->GetActionParam('UseSieve', '0');
|
||||||
|
$sSieveHost = (string) $oActions->GetActionParam('SieveHost', '');
|
||||||
|
$iSievePort = (int) $oActions->GetActionParam('SievePort', 4190);
|
||||||
|
$iSieveSecure = (int) $oActions->GetActionParam('SieveSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
||||||
|
$sOutHost = (string) $oActions->GetActionParam('OutHost', '');
|
||||||
|
$iOutPort = (int) $oActions->GetActionParam('OutPort', 25);
|
||||||
|
$iOutSecure = (int) $oActions->GetActionParam('OutSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
||||||
|
$bOutShortLogin = '1' === (string) $oActions->GetActionParam('OutShortLogin', '0');
|
||||||
|
$bOutAuth = '1' === (string) $oActions->GetActionParam('OutAuth', '1');
|
||||||
|
$bOutSetSender = '1' === (string) $oActions->GetActionParam('OutSetSender', '0');
|
||||||
|
$bOutUsePhpMail = '1' === (string) $oActions->GetActionParam('OutUsePhpMail', '0');
|
||||||
|
$sWhiteList = (string) $oActions->GetActionParam('WhiteList', '');
|
||||||
|
|
||||||
$oDomain = 0 < strlen($sNameForTest) ? null : $this->Load($sName);
|
$oDomain = 0 < strlen($sNameForTest) ? null : $this->Load($sName);
|
||||||
if ($oDomain instanceof \RainLoop\Model\Domain)
|
if ($oDomain instanceof \RainLoop\Model\Domain)
|
||||||
{
|
{
|
||||||
|
|
@ -133,7 +135,7 @@ class Domain extends AbstractProvider
|
||||||
$oDomain->UpdateInstance(
|
$oDomain->UpdateInstance(
|
||||||
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
||||||
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
||||||
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail,
|
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutSetSender, $bOutUsePhpMail,
|
||||||
$sWhiteList);
|
$sWhiteList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -142,7 +144,7 @@ class Domain extends AbstractProvider
|
||||||
$oDomain = new \RainLoop\Model\Domain(0 < strlen($sNameForTest) ? $sNameForTest : $sName,
|
$oDomain = new \RainLoop\Model\Domain(0 < strlen($sNameForTest) ? $sNameForTest : $sName,
|
||||||
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
||||||
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
||||||
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail,
|
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutSetSender, $bOutUsePhpMail,
|
||||||
$sWhiteList);
|
$sWhiteList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -172,6 +174,7 @@ class Domain extends AbstractProvider
|
||||||
$iOutSecure = (int) $oActions->GetActionParam('OutSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
$iOutSecure = (int) $oActions->GetActionParam('OutSecure', \MailSo\Net\Enumerations\ConnectionSecurityType::NONE);
|
||||||
$bOutShortLogin = '1' === (string) $oActions->GetActionParam('OutShortLogin', '0');
|
$bOutShortLogin = '1' === (string) $oActions->GetActionParam('OutShortLogin', '0');
|
||||||
$bOutAuth = '1' === (string) $oActions->GetActionParam('OutAuth', '1');
|
$bOutAuth = '1' === (string) $oActions->GetActionParam('OutAuth', '1');
|
||||||
|
$bOutSetSender = '1' === (string) $oActions->GetActionParam('OutSetSender', '0');
|
||||||
$bOutUsePhpMail = '1' === (string) $oActions->GetActionParam('OutUsePhpMail', '0');
|
$bOutUsePhpMail = '1' === (string) $oActions->GetActionParam('OutUsePhpMail', '0');
|
||||||
$sWhiteList = (string) $oActions->GetActionParam('WhiteList', '');
|
$sWhiteList = (string) $oActions->GetActionParam('WhiteList', '');
|
||||||
|
|
||||||
|
|
@ -194,7 +197,7 @@ class Domain extends AbstractProvider
|
||||||
$oDomain->UpdateInstance(
|
$oDomain->UpdateInstance(
|
||||||
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
||||||
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
||||||
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail,
|
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutSetSender, $bOutUsePhpMail,
|
||||||
$sWhiteList);
|
$sWhiteList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -203,7 +206,7 @@ class Domain extends AbstractProvider
|
||||||
$oDomain = new \RainLoop\Model\Domain(0 < strlen($sNameForTest) ? $sNameForTest : $sName,
|
$oDomain = new \RainLoop\Model\Domain(0 < strlen($sNameForTest) ? $sNameForTest : $sName,
|
||||||
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
$sIncHost, $iIncPort, $iIncSecure, $bIncShortLogin,
|
||||||
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
$bUseSieve, $sSieveHost, $iSievePort, $iSieveSecure,
|
||||||
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutUsePhpMail,
|
$sOutHost, $iOutPort, $iOutSecure, $bOutShortLogin, $bOutAuth, $bOutSetSender, $bOutUsePhpMail,
|
||||||
$sWhiteList);
|
$sWhiteList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,7 @@ en:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "Allow sieve scripts"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "Allow sieve scripts"
|
||||||
LABEL_USE_SHORT_LOGIN: "Use short login"
|
LABEL_USE_SHORT_LOGIN: "Use short login"
|
||||||
LABEL_USE_AUTH: "Use authentication"
|
LABEL_USE_AUTH: "Use authentication"
|
||||||
|
LABEL_SET_SENDER: "Use login as sender"
|
||||||
LABEL_USE_PHP_MAIL: "Use php mail() function"
|
LABEL_USE_PHP_MAIL: "Use php mail() function"
|
||||||
BUTTON_TEST: "Test"
|
BUTTON_TEST: "Test"
|
||||||
BUTTON_WHITE_LIST: "White List"
|
BUTTON_WHITE_LIST: "White List"
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ de_DE:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "Sieve-Skripte erlauben"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "Sieve-Skripte erlauben"
|
||||||
LABEL_USE_SHORT_LOGIN: "Kurze Benutzernamen verwenden"
|
LABEL_USE_SHORT_LOGIN: "Kurze Benutzernamen verwenden"
|
||||||
LABEL_USE_AUTH: "Authentifizierung verwenden"
|
LABEL_USE_AUTH: "Authentifizierung verwenden"
|
||||||
|
LABEL_SET_SENDER: "Verwenden Sie die Anmeldung als Absender"
|
||||||
LABEL_USE_PHP_MAIL: "PHPs mail()-Funktion verwenden"
|
LABEL_USE_PHP_MAIL: "PHPs mail()-Funktion verwenden"
|
||||||
BUTTON_TEST: "Testen"
|
BUTTON_TEST: "Testen"
|
||||||
BUTTON_WHITE_LIST: "Whitelist"
|
BUTTON_WHITE_LIST: "Whitelist"
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ en_US:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "Allow sieve scripts"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "Allow sieve scripts"
|
||||||
LABEL_USE_SHORT_LOGIN: "Use short login"
|
LABEL_USE_SHORT_LOGIN: "Use short login"
|
||||||
LABEL_USE_AUTH: "Use authentication"
|
LABEL_USE_AUTH: "Use authentication"
|
||||||
|
LABEL_SET_SENDER: "Use login as sender"
|
||||||
LABEL_USE_PHP_MAIL: "Use php mail() function"
|
LABEL_USE_PHP_MAIL: "Use php mail() function"
|
||||||
BUTTON_TEST: "Test"
|
BUTTON_TEST: "Test"
|
||||||
BUTTON_WHITE_LIST: "White List"
|
BUTTON_WHITE_LIST: "White List"
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ es_ES:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "Permitir scripts de filtro"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "Permitir scripts de filtro"
|
||||||
LABEL_USE_SHORT_LOGIN: "Inicio de Sesión corto"
|
LABEL_USE_SHORT_LOGIN: "Inicio de Sesión corto"
|
||||||
LABEL_USE_AUTH: "Usar autenticación"
|
LABEL_USE_AUTH: "Usar autenticación"
|
||||||
|
LABEL_SET_SENDER: "Usar inicio de sesión como remitente"
|
||||||
LABEL_USE_PHP_MAIL: "Utilizar la función mail() de PHP"
|
LABEL_USE_PHP_MAIL: "Utilizar la función mail() de PHP"
|
||||||
BUTTON_TEST: "Probar"
|
BUTTON_TEST: "Probar"
|
||||||
BUTTON_WHITE_LIST: "Lista blanca"
|
BUTTON_WHITE_LIST: "Lista blanca"
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ fr_FR:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "Autoriser les scripts sieve"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "Autoriser les scripts sieve"
|
||||||
LABEL_USE_SHORT_LOGIN: "Utiliser l'identifiant court"
|
LABEL_USE_SHORT_LOGIN: "Utiliser l'identifiant court"
|
||||||
LABEL_USE_AUTH: "Utiliser l'authentification"
|
LABEL_USE_AUTH: "Utiliser l'authentification"
|
||||||
|
LABEL_SET_SENDER: "Utiliser la connexion en tant qu'expéditeur"
|
||||||
LABEL_USE_PHP_MAIL: "Utiliser la fonction mail() de php"
|
LABEL_USE_PHP_MAIL: "Utiliser la fonction mail() de php"
|
||||||
BUTTON_TEST: "Test"
|
BUTTON_TEST: "Test"
|
||||||
BUTTON_WHITE_LIST: "Liste Blanche"
|
BUTTON_WHITE_LIST: "Liste Blanche"
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ nl_NL:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "Sta Sieve scripts toe"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "Sta Sieve scripts toe"
|
||||||
LABEL_USE_SHORT_LOGIN: "Gebruik verkorte login"
|
LABEL_USE_SHORT_LOGIN: "Gebruik verkorte login"
|
||||||
LABEL_USE_AUTH: "Gebruik authenticatie"
|
LABEL_USE_AUTH: "Gebruik authenticatie"
|
||||||
|
LABEL_SET_SENDER: "Gebruik login als verzender"
|
||||||
LABEL_USE_PHP_MAIL: "Gebruik php mail() functie"
|
LABEL_USE_PHP_MAIL: "Gebruik php mail() functie"
|
||||||
BUTTON_TEST: "Test"
|
BUTTON_TEST: "Test"
|
||||||
BUTTON_WHITE_LIST: "Witte lijst"
|
BUTTON_WHITE_LIST: "Witte lijst"
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,7 @@ zh_CN:
|
||||||
LABEL_ALLOW_SIEVE_SCRIPTS: "可使用筛选脚本"
|
LABEL_ALLOW_SIEVE_SCRIPTS: "可使用筛选脚本"
|
||||||
LABEL_USE_SHORT_LOGIN: "使用短用户名登录"
|
LABEL_USE_SHORT_LOGIN: "使用短用户名登录"
|
||||||
LABEL_USE_AUTH: "使用认证"
|
LABEL_USE_AUTH: "使用认证"
|
||||||
|
LABEL_SET_SENDER: "使用登录名作为发件人"
|
||||||
LABEL_USE_PHP_MAIL: "使用 php mail() 函数"
|
LABEL_USE_PHP_MAIL: "使用 php mail() 函数"
|
||||||
BUTTON_TEST: "测试"
|
BUTTON_TEST: "测试"
|
||||||
BUTTON_WHITE_LIST: "白名单"
|
BUTTON_WHITE_LIST: "白名单"
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,6 @@
|
||||||
data-bind="textInput: imapPort" />
|
data-bind="textInput: imapPort" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<span data-i18n="POPUPS_DOMAIN/LABEL_SECURE"></span>
|
<span data-i18n="POPUPS_DOMAIN/LABEL_SECURE"></span>
|
||||||
|
|
@ -115,7 +114,6 @@
|
||||||
data-bind="textInput: sievePort" />
|
data-bind="textInput: sievePort" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<span data-i18n="POPUPS_DOMAIN/LABEL_SECURE"></span>
|
<span data-i18n="POPUPS_DOMAIN/LABEL_SECURE"></span>
|
||||||
|
|
@ -161,7 +159,6 @@
|
||||||
data-bind="textInput: smtpPort" />
|
data-bind="textInput: smtpPort" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<span data-i18n="POPUPS_DOMAIN/LABEL_SECURE"></span>
|
<span data-i18n="POPUPS_DOMAIN/LABEL_SECURE"></span>
|
||||||
|
|
@ -186,7 +183,10 @@
|
||||||
}"></div>
|
}"></div>
|
||||||
|
|
||||||
<span style="color: #aaa">(user@domain.com → user)</span>
|
<span style="color: #aaa">(user@domain.com → user)</span>
|
||||||
<br />
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="span5">
|
||||||
<div data-bind="component: {
|
<div data-bind="component: {
|
||||||
name: 'Checkbox',
|
name: 'Checkbox',
|
||||||
params: {
|
params: {
|
||||||
|
|
@ -198,6 +198,18 @@
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="span5">
|
||||||
|
<div data-bind="component: {
|
||||||
|
name: 'Checkbox',
|
||||||
|
params: {
|
||||||
|
label: 'POPUPS_DOMAIN/LABEL_SET_SENDER',
|
||||||
|
value: smtpSetSender,
|
||||||
|
inline: true
|
||||||
|
}
|
||||||
|
}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span5">
|
<div class="span5">
|
||||||
<div data-bind="component: {
|
<div data-bind="component: {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue