mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-03-09 21:36:46 +08:00
Enable RFC 8689
This commit is contained in:
parent
1126712d11
commit
e23e0138a9
48 changed files with 113 additions and 54 deletions
|
@ -42,7 +42,7 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
|||
this.threadsAllowed = AppUserStore.threadsAllowed;
|
||||
|
||||
['layout', 'messageReadDelay', 'messagesPerPage',
|
||||
'editorDefaultType', 'requestReadReceipt', 'requestDsn', 'pgpSign', 'pgpEncrypt',
|
||||
'editorDefaultType', 'requestReadReceipt', 'requestDsn', 'requireTLS', 'pgpSign', 'pgpEncrypt',
|
||||
'viewHTML', 'showImages', 'removeColors', 'hideDeleted', 'listInlineAttachments', 'simpleAttachmentsList',
|
||||
'useCheckboxesInList', 'listGrouped', 'useThreads', 'replySameFolder', 'msgDefaultAction', 'allowSpellcheck'
|
||||
].forEach(name => this[name] = SettingsUserStore[name]);
|
||||
|
@ -100,7 +100,7 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
|||
|
||||
this.addSettings(['ViewHTML', 'ShowImages', 'HideDeleted', 'ListInlineAttachments', 'simpleAttachmentsList',
|
||||
'UseCheckboxesInList', 'listGrouped', 'ReplySameFolder',
|
||||
'requestReadReceipt', 'requestDsn', 'pgpSign', 'pgpEncrypt', 'allowSpellcheck',
|
||||
'requestReadReceipt', 'requestDsn', 'requireTLS', 'pgpSign', 'pgpEncrypt', 'allowSpellcheck',
|
||||
'DesktopNotifications', 'SoundNotification']);
|
||||
|
||||
const fReloadLanguageHelper = (saveSettingsStep) => () => {
|
||||
|
|
|
@ -33,6 +33,7 @@ export const SettingsUserStore = new class {
|
|||
|
||||
requestReadReceipt: 0,
|
||||
requestDsn: 0,
|
||||
requireTLS: 0,
|
||||
pgpSign: 0,
|
||||
pgpEncrypt: 0,
|
||||
allowSpellcheck: 0,
|
||||
|
@ -97,6 +98,7 @@ export const SettingsUserStore = new class {
|
|||
|
||||
self.requestReadReceipt(SettingsGet('requestReadReceipt'));
|
||||
self.requestDsn(SettingsGet('requestDsn'));
|
||||
self.requireTLS(SettingsGet('requireTLS'));
|
||||
self.pgpSign(SettingsGet('pgpSign'));
|
||||
self.pgpEncrypt(SettingsGet('pgpEncrypt'));
|
||||
self.allowSpellcheck(SettingsGet('allowSpellcheck'));
|
||||
|
|
|
@ -231,6 +231,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
|
||||
requestDsn: false,
|
||||
requestReadReceipt: false,
|
||||
requireTLS: false,
|
||||
markAsImportant: false,
|
||||
|
||||
sendError: false,
|
||||
|
@ -1270,6 +1271,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
|
||||
this.requestDsn(SettingsUserStore.requestDsn());
|
||||
this.requestReadReceipt(SettingsUserStore.requestReadReceipt());
|
||||
this.requireTLS(SettingsUserStore.requireTLS());
|
||||
this.markAsImportant(false);
|
||||
|
||||
this.bodyArea();
|
||||
|
@ -1422,6 +1424,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
attachments: attachments,
|
||||
// Only used at send, not at save:
|
||||
dsn: this.requestDsn() ? 1 : 0,
|
||||
requireTLS: this.requireTLS() ? 1 : 0,
|
||||
readReceiptRequest: this.requestReadReceipt() ? 1 : 0
|
||||
},
|
||||
recipients = draft ? [identity.email()] : this.allRecipients(),
|
||||
|
|
|
@ -200,11 +200,6 @@ class Message extends Part
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function SetReadConfirmation(string $sEmail) : self
|
||||
{
|
||||
return $this->SetReadReceipt($sEmail);
|
||||
}
|
||||
|
||||
public function SetPriority(int $iValue) : self
|
||||
{
|
||||
$sResult = '';
|
||||
|
|
|
@ -191,14 +191,14 @@ class SmtpClient extends \MailSo\Net\NetClient
|
|||
* @throws \MailSo\Net\Exceptions\*
|
||||
* @throws \MailSo\Smtp\Exceptions\*
|
||||
*/
|
||||
public function MailFrom(string $sFrom, string $sSizeIfSupported = '', bool $bDsn = false) : self
|
||||
public function MailFrom(string $sFrom, int $iSizeIfSupported = 0, bool $bDsn = false, bool $bRequireTLS = false) : self
|
||||
{
|
||||
$sFrom = \MailSo\Base\Utils::IdnToAscii(\MailSo\Base\Utils::Trim($sFrom), true);
|
||||
|
||||
$sCmd = "FROM:<{$sFrom}>";
|
||||
|
||||
if (\strlen($sSizeIfSupported) && \is_numeric($sSizeIfSupported) && $this->hasCapability('SIZE')) {
|
||||
$sCmd .= ' SIZE='.$sSizeIfSupported;
|
||||
if (0 < $iSizeIfSupported && $this->hasCapability('SIZE')) {
|
||||
$sCmd .= ' SIZE='.$iSizeIfSupported;
|
||||
}
|
||||
|
||||
if ($bDsn && $this->hasCapability('DSN')) {
|
||||
|
@ -206,8 +206,8 @@ class SmtpClient extends \MailSo\Net\NetClient
|
|||
}
|
||||
|
||||
// RFC 8689
|
||||
if ($this->hasCapability('REQUIRETLS')) {
|
||||
// $sCmd .= ' REQUIRETLS';
|
||||
if ($bRequireTLS && $this->hasCapability('REQUIRETLS')) {
|
||||
$sCmd .= ' REQUIRETLS';
|
||||
}
|
||||
|
||||
$this->sendRequestWithCheck('MAIL', 250, $sCmd);
|
||||
|
|
|
@ -791,6 +791,7 @@ class Actions
|
|||
$aResult['EditorDefaultType'] = \str_replace('Forced', '', $oSettings->GetConf('EditorDefaultType', $aResult['EditorDefaultType']));
|
||||
$aResult['requestReadReceipt'] = (bool) $oSettings->GetConf('requestReadReceipt', false);
|
||||
$aResult['requestDsn'] = (bool) $oSettings->GetConf('requestDsn', false);
|
||||
$aResult['requireTLS'] = (bool) $oSettings->GetConf('requireTLS', false);
|
||||
$aResult['pgpSign'] = (bool) $oSettings->GetConf('pgpSign', false);
|
||||
$aResult['pgpEncrypt'] = (bool) $oSettings->GetConf('pgpEncrypt', false);
|
||||
$aResult['allowSpellcheck'] = (bool) $oSettings->GetConf('allowSpellcheck', false);
|
||||
|
|
|
@ -174,7 +174,8 @@ trait Messages
|
|||
|
||||
if (false !== $iMessageStreamSize) {
|
||||
$bDsn = !empty($this->GetActionParam('dsn', 0));
|
||||
$this->smtpSendMessage($oAccount, $oMessage, $rMessageStream, $iMessageStreamSize, $bDsn, true);
|
||||
$bRequireTLS = !empty($this->GetActionParam('requireTLS', 0));
|
||||
$this->smtpSendMessage($oAccount, $oMessage, $rMessageStream, $iMessageStreamSize, true, $bDsn, $bRequireTLS);
|
||||
|
||||
if (\is_array($aDraftInfo) && 3 === \count($aDraftInfo)) {
|
||||
$sDraftInfoType = $aDraftInfo[0];
|
||||
|
@ -321,7 +322,7 @@ trait Messages
|
|||
$oMessage->ToStream(true), array($rMessageStream), 8192, true, true, true);
|
||||
|
||||
if (false !== $iMessageStreamSize) {
|
||||
$this->smtpSendMessage($oAccount, $oMessage, $rMessageStream, $iMessageStreamSize, false, false);
|
||||
$this->smtpSendMessage($oAccount, $oMessage, $rMessageStream, $iMessageStreamSize, false);
|
||||
|
||||
if (\is_resource($rMessageStream)) {
|
||||
\fclose($rMessageStream);
|
||||
|
@ -748,7 +749,8 @@ trait Messages
|
|||
* @throws \MailSo\Net\Exceptions\ConnectionException
|
||||
*/
|
||||
private function smtpSendMessage(Account $oAccount, \MailSo\Mime\Message $oMessage,
|
||||
/*resource*/ &$rMessageStream, int &$iMessageStreamSize, bool $bDsn = false, bool $bAddHiddenRcpt = true)
|
||||
/*resource*/ &$rMessageStream, int &$iMessageStreamSize, bool $bAddHiddenRcpt = true,
|
||||
bool $bDsn = false, bool $bRequireTLS = false)
|
||||
{
|
||||
$oRcpt = $oMessage->GetRcpt();
|
||||
if (!$oRcpt || !$oRcpt->count()) {
|
||||
|
@ -824,7 +826,7 @@ trait Messages
|
|||
}
|
||||
|
||||
if (!empty($sFrom)) {
|
||||
$oSmtpClient->MailFrom($sFrom, '', $bDsn);
|
||||
$oSmtpClient->MailFrom($sFrom, 0, $bDsn, $bRequireTLS);
|
||||
}
|
||||
|
||||
foreach ($oRcpt as /* @var $oEmail \MailSo\Mime\Email */ $oEmail) {
|
||||
|
@ -996,6 +998,10 @@ trait Messages
|
|||
$oMessage->SetReadReceipt($oFrom->GetEmail());
|
||||
}
|
||||
|
||||
if (empty($this->GetActionParam('requireTLS', 0))) {
|
||||
$oMessage->SetCustomHeader('TLS-Required', 'No');
|
||||
}
|
||||
|
||||
if (!empty($this->GetActionParam('markAsImportant', 0))) {
|
||||
$oMessage->SetPriority(\MailSo\Mime\Enumerations\MessagePriority::HIGH);
|
||||
}
|
||||
|
|
|
@ -172,6 +172,7 @@ trait User
|
|||
$this->setSettingsFromParams($oSettings, 'EditorDefaultType', 'string');
|
||||
$this->setSettingsFromParams($oSettings, 'requestReadReceipt', 'bool');
|
||||
$this->setSettingsFromParams($oSettings, 'requestDsn', 'bool');
|
||||
$this->setSettingsFromParams($oSettings, 'requireTLS', 'bool');
|
||||
$this->setSettingsFromParams($oSettings, 'pgpSign', 'bool');
|
||||
$this->setSettingsFromParams($oSettings, 'pgpEncrypt', 'bool');
|
||||
$this->setSettingsFromParams($oSettings, 'allowSpellcheck', 'bool');
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "اطلب اعلاماً بالقراءة",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "تحديده كـ هام",
|
||||
"BUTTON_REQUEST_DSN": "اطلب اعلاماً بايصال البريد"
|
||||
"BUTTON_REQUEST_DSN": "اطلب اعلاماً بايصال البريد",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "هل أنت متأكد من رغبتك باغلاق هذه النافذة؟",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Поискайте разписка за прочитане на съобщението",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Отбележи като важно",
|
||||
"BUTTON_REQUEST_DSN": "Уведомяване при доставка"
|
||||
"BUTTON_REQUEST_DSN": "Уведомяване при доставка",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Сигурни ли сте, че желаете да затворите този прозорец?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Vyžádat si potvrzení o přečtení",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Označit jako důležité",
|
||||
"BUTTON_REQUEST_DSN": "Vyžádat si potvrzení o přijetí"
|
||||
"BUTTON_REQUEST_DSN": "Vyžádat si potvrzení o přijetí",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Opravdu chcete zavřít toto okno?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Bed om kvittering for læsning",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Markér som vigtig",
|
||||
"BUTTON_REQUEST_DSN": "Bed om kvittering for modtagelse"
|
||||
"BUTTON_REQUEST_DSN": "Bed om kvittering for modtagelse",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Vil du lukke vinduet?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Rechtschreibprüfung durch den Browser zulassen",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Empfangsbestätigung anfordern",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Als Wichtig markieren",
|
||||
"BUTTON_REQUEST_DSN": "Übermittlungsstatus anfordern"
|
||||
"BUTTON_REQUEST_DSN": "Übermittlungsstatus anfordern",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Sind Sie sicher, dass Sie dieses Fenster schließen möchten?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Ζητήστε αποδεικτικό ανάγνωσης",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Σημειώστε το σαν σημαντικό",
|
||||
"BUTTON_REQUEST_DSN": "Ζητήστε αποδεικτικό παράδοσης"
|
||||
"BUTTON_REQUEST_DSN": "Ζητήστε αποδεικτικό παράδοσης",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Είστε σίγουροι πως θέλετε να κλείσετε αυτό το παράθυρο;",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Request a read receipt",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Are you sure you want to close this window?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Request a read receipt",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Are you sure you want to close this window?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Solicitar confirmación de lectura",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marcar como importante",
|
||||
"BUTTON_REQUEST_DSN": "Solicitar una confirmación de entrega"
|
||||
"BUTTON_REQUEST_DSN": "Solicitar una confirmación de entrega",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "¿Está seguro de que desea cerrar esta ventana?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Palu lugemise kohta kinnitust",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Tähista olulisena",
|
||||
"BUTTON_REQUEST_DSN": "Palu kättesaamise kohta kinnitust"
|
||||
"BUTTON_REQUEST_DSN": "Palu kättesaamise kohta kinnitust",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Kas oled kindel, et soovid akna sulgeda?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Gaitu nabigatzaileko hizkuntza-zuzentzailea",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Eskatu irakurketa-agiria",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "MArkatu garrantzitsu bezala",
|
||||
"BUTTON_REQUEST_DSN": "Eskatu jasotze-agiria"
|
||||
"BUTTON_REQUEST_DSN": "Eskatu jasotze-agiria",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Ziur zaude leiho hau itxi nahi duzula?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "درخواست دریافت رسید خواندن",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "علامت زدن به عنوان مهم",
|
||||
"BUTTON_REQUEST_DSN": "درخواست دریافت رسید تحویل درمقصد"
|
||||
"BUTTON_REQUEST_DSN": "درخواست دریافت رسید تحویل درمقصد",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "آیا از بستن این پنجره مطمئن هستید؟",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Pyydä kuittaus",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Merkitse tärkeäksi",
|
||||
"BUTTON_REQUEST_DSN": "Pyydä toimituskuittaus"
|
||||
"BUTTON_REQUEST_DSN": "Pyydä toimituskuittaus",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Haluatko varmasti sulkea tämän ikkunan?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Demander une confirmation de lecture",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marquer comme important",
|
||||
"BUTTON_REQUEST_DSN": "Demander un accusé de réception"
|
||||
"BUTTON_REQUEST_DSN": "Demander un accusé de réception",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Êtes-vous sûr de vouloir fermer cette fenêtre ?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Olvasási visszaigazolás kérése",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Megjelölés fontosként",
|
||||
"BUTTON_REQUEST_DSN": "Továbbítási visszaigazolás kérés"
|
||||
"BUTTON_REQUEST_DSN": "Továbbítási visszaigazolás kérés",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Biztos, hogy be akarod zárni ezt az ablakot?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Minta pemberitahuan telah dibaca",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Tandai sebagai pesan penting",
|
||||
"BUTTON_REQUEST_DSN": "Minta pemberitahuan berhasil kirim"
|
||||
"BUTTON_REQUEST_DSN": "Minta pemberitahuan berhasil kirim",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Anda yakin untuk menutup jendela ini?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Biðja um staðfestingu á lestri",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Merkja sem mikilvægt",
|
||||
"BUTTON_REQUEST_DSN": "Biðja um staðfestingu á afhendingu"
|
||||
"BUTTON_REQUEST_DSN": "Biðja um staðfestingu á afhendingu",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Ertu viss um að þú viljir loka þessum glugga?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Abilita il controllo ortografico del browser",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Richiedi conferma di lettura",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marca come importante",
|
||||
"BUTTON_REQUEST_DSN": "Richiedi conferma del ricevimento"
|
||||
"BUTTON_REQUEST_DSN": "Richiedi conferma del ricevimento",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Sei sicuro di voler chiudere questa finestra?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "開封確認を要求する",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "重要フラグをつける",
|
||||
"BUTTON_REQUEST_DSN": "配信確認を要求する"
|
||||
"BUTTON_REQUEST_DSN": "配信確認を要求する",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "このウインドウを閉じていいですか?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "수신 확인 요청",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "중요 표시",
|
||||
"BUTTON_REQUEST_DSN": "수신 확인 요청"
|
||||
"BUTTON_REQUEST_DSN": "수신 확인 요청",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "정말로 이 페이지를 닫으시겠습니까 ?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Prašyti pranešti kada bus perskaitytas",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Žymėti svarbiu",
|
||||
"BUTTON_REQUEST_DSN": "Prašyti laiško gavimo pažymos"
|
||||
"BUTTON_REQUEST_DSN": "Prašyti laiško gavimo pažymos",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Ar tikrai norite uždaryti šį langą??",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Request a read receipt",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Are you sure you want to close this window?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Be om en bekreftelse fra mottaker på at meldinga er lest",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marker som viktig",
|
||||
"BUTTON_REQUEST_DSN": "Be om leveringsbekreftelse"
|
||||
"BUTTON_REQUEST_DSN": "Be om leveringsbekreftelse",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Er du sikker på at du vil lukke dette vinduet?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "De browser spellingcontrole toestaan",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Leesbevestiging vragen",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Markeer als belangrijk",
|
||||
"BUTTON_REQUEST_DSN": "Ontvangstbevestiging vragen"
|
||||
"BUTTON_REQUEST_DSN": "Ontvangstbevestiging vragen",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Weet u zeker dat u dit venster wilt sluiten?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Żądaj potwierdzenia przeczytania wiadomości",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Oznacz jako ważną",
|
||||
"BUTTON_REQUEST_DSN": "Żądaj potwierdzenia dostarczenia wiadomości"
|
||||
"BUTTON_REQUEST_DSN": "Żądaj potwierdzenia dostarczenia wiadomości",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Na pewno chcesz zamknąć to okno?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Pedir recibo de leitura",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marcar como importante",
|
||||
"BUTTON_REQUEST_DSN": "Pedir recibo de entrega"
|
||||
"BUTTON_REQUEST_DSN": "Pedir recibo de entrega",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Você tem certeza que deseja fechar esta janela?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Pedir um recibo de leitura",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marcar como importante",
|
||||
"BUTTON_REQUEST_DSN": "Pedir um recibo de entrega"
|
||||
"BUTTON_REQUEST_DSN": "Pedir um recibo de entrega",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Tem a certeza de que quer fechar esta janela?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Pedir um recibo de leitura",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Marcar como importante",
|
||||
"BUTTON_REQUEST_DSN": "Pedir um recibo de entrega"
|
||||
"BUTTON_REQUEST_DSN": "Pedir um recibo de entrega",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Tem a certeza de que quer fechar esta janela?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Cere confirmare de citire",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Sigur doriți să închideți această fereastră?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Запрос о прочтении письма",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Отметить как важное",
|
||||
"BUTTON_REQUEST_DSN": "Запросить уведомление о доставке"
|
||||
"BUTTON_REQUEST_DSN": "Запросить уведомление о доставке",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Вы уверены, что хотите закрыть это окно?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Vyžiadať potvrdenie o prečítaní",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Označiť ako dôležité",
|
||||
"BUTTON_REQUEST_DSN": "Vyžiadať potvrdenie o doručení"
|
||||
"BUTTON_REQUEST_DSN": "Vyžiadať potvrdenie o doručení",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Ste si istý že chcete zatvoriť toto okno?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Zahtevaj potrdilo o branju",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Označi kot pomembno",
|
||||
"BUTTON_REQUEST_DSN": "Zahtevaj potrdilo o dostavi"
|
||||
"BUTTON_REQUEST_DSN": "Zahtevaj potrdilo o dostavi",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Želite zapreti to okno?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Begär mottagningskvitto",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Markera som viktigt",
|
||||
"BUTTON_REQUEST_DSN": "Begär ett leveranskvitto"
|
||||
"BUTTON_REQUEST_DSN": "Begär ett leveranskvitto",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Vill du stänga detta fönster?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Okundu bilgisi iste",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Bu pencereyi kapatmak istediğinizden emin misiniz?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Запит про прочитання листа",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Ви впевнені, що хочете закрити це вікно?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Yêu cầu thông báo khi người nhận đã đọc thư",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Đánh dấu thư quan trọng",
|
||||
"BUTTON_REQUEST_DSN": "Yêu cầu thông báo thư đã gửi thành công"
|
||||
"BUTTON_REQUEST_DSN": "Yêu cầu thông báo thư đã gửi thành công",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "Bạn có chắc muốn đóng bảng này chứ?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "启用浏览器拼写检查器",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "要求已读回执",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "标记为“重要”",
|
||||
"BUTTON_REQUEST_DSN": "要求送达回执"
|
||||
"BUTTON_REQUEST_DSN": "要求送达回执",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "您确定要关闭此窗口吗?",
|
||||
|
|
|
@ -228,7 +228,8 @@
|
|||
"ALLOW_SPELLCHECK": "Enable browser spelling checker",
|
||||
"BUTTON_REQUEST_READ_RECEIPT": "Request a read receipt",
|
||||
"BUTTON_MARK_AS_IMPORTANT": "Mark as important",
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt"
|
||||
"BUTTON_REQUEST_DSN": "Request a delivery receipt",
|
||||
"BUTTON_REQUIRE_TLS": "Require secure delivery"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"DESC_WANT_CLOSE_THIS_WINDOW": "你確定要關閉此窗口嗎?",
|
||||
|
|
|
@ -48,6 +48,12 @@
|
|||
<span data-i18n="COMPOSE/BUTTON_REQUEST_DSN"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li data-bind="click: function () { requireTLS(!requireTLS()); }">
|
||||
<a>
|
||||
<i class="fontastic" data-bind="text: requireTLS() ? '☑' : '☐'"></i>
|
||||
<span data-i18n="COMPOSE/BUTTON_REQUIRE_TLS"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li data-bind="click: function () { markAsImportant(!markAsImportant()); }">
|
||||
<a>
|
||||
<i class="fontastic" data-bind="text: markAsImportant() ? '☑' : '☐'"></i>
|
||||
|
|
|
@ -114,6 +114,13 @@
|
|||
value: requestDsn
|
||||
}
|
||||
}"></div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'COMPOSE/BUTTON_REQUIRE_TLS',
|
||||
value: requireTLS
|
||||
}
|
||||
}"></div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
Loading…
Reference in a new issue