mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 04:29:21 +03:00
Added: DKIM status
This commit is contained in:
parent
c6db99d53b
commit
9bc977cccf
10 changed files with 239 additions and 7 deletions
|
|
@ -10,13 +10,15 @@
|
|||
/**
|
||||
* @param {string=} sEmail
|
||||
* @param {string=} sName
|
||||
* @param {string=} sDkimStatus
|
||||
*
|
||||
* @constructor
|
||||
*/
|
||||
function EmailModel(sEmail, sName)
|
||||
function EmailModel(sEmail, sName, sDkimStatus)
|
||||
{
|
||||
this.email = sEmail || '';
|
||||
this.name = sName || '';
|
||||
this.dkimStatus = sDkimStatus || 'none';
|
||||
|
||||
this.clearDuplicateName();
|
||||
}
|
||||
|
|
@ -42,10 +44,16 @@
|
|||
*/
|
||||
EmailModel.prototype.email = '';
|
||||
|
||||
/**
|
||||
* @type {string}
|
||||
*/
|
||||
EmailModel.prototype.dkimStatus = 'none';
|
||||
|
||||
EmailModel.prototype.clear = function ()
|
||||
{
|
||||
this.email = '';
|
||||
this.name = '';
|
||||
this.dkimStatus = 'none';
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -121,6 +129,7 @@
|
|||
{
|
||||
this.name = Utils.trim(oJsonEmail.Name);
|
||||
this.email = Utils.trim(oJsonEmail.Email);
|
||||
this.dkimStatus = Utils.trim(oJsonEmail.DkimStatus || '');
|
||||
|
||||
bResult = '' !== this.email;
|
||||
this.clearDuplicateName();
|
||||
|
|
|
|||
|
|
@ -563,6 +563,21 @@
|
|||
return MessageModel.emailsToLine(this.from, bFriendlyView, bWrapWithLink);
|
||||
};
|
||||
|
||||
/**
|
||||
* @return {string}
|
||||
*/
|
||||
MessageModel.prototype.fromDkimData = function ()
|
||||
{
|
||||
var aResult = ['none', ''];
|
||||
if (Utils.isNonEmptyArray(this.from) && 1 === this.from.length &&
|
||||
this.from[0] && this.from[0].dkimStatus)
|
||||
{
|
||||
aResult = [this.from[0].dkimStatus, this.from[0].email];
|
||||
}
|
||||
|
||||
return aResult;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {boolean} bFriendlyView
|
||||
* @param {boolean=} bWrapWithLink = false
|
||||
|
|
|
|||
|
|
@ -58,6 +58,26 @@
|
|||
}
|
||||
}
|
||||
|
||||
.iconcolor-display-none {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.iconcolor-green {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.iconcolor-red {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.iconcolor-white {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.iconcolor-grey {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.denied-by-browser {
|
||||
cursor: default;
|
||||
.icon-checkbox-checked, icon-checkbox-unchecked {
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@
|
|||
this.viewHash = '';
|
||||
this.viewSubject = ko.observable('');
|
||||
this.viewFromShort = ko.observable('');
|
||||
this.viewFromDkimData = ko.observable(['none', '']);
|
||||
this.viewToShort = ko.observable('');
|
||||
this.viewFrom = ko.observable('');
|
||||
this.viewTo = ko.observable('');
|
||||
|
|
@ -176,6 +177,33 @@
|
|||
return this.message() ? this.message().pgpSignedVerifyUser() : '';
|
||||
}, this);
|
||||
|
||||
this.viewFromDkimStatusIconClass = ko.computed(function () {
|
||||
|
||||
// var sResult = 'icon-warning-alt iconcolor-grey';
|
||||
var sResult = 'icon-none iconcolor-display-none';
|
||||
switch (this.viewFromDkimData()[0])
|
||||
{
|
||||
case 'none':
|
||||
// sResult = 'icon-warning-alt iconcolor-grey';
|
||||
sResult = 'icon-none iconcolor-display-none';
|
||||
break;
|
||||
case 'pass':
|
||||
sResult = 'icon-ok iconcolor-green';
|
||||
break;
|
||||
default:
|
||||
sResult = 'icon-warning-alt iconcolor-red';
|
||||
break;
|
||||
}
|
||||
|
||||
return sResult;
|
||||
|
||||
}, this);
|
||||
|
||||
this.viewFromDkimStatusTitle = ko.computed(function () {
|
||||
var aStatus = this.viewFromDkimData();
|
||||
return Utils.isNonEmptyArray(aStatus) ? 'DKIM: ' + aStatus[0] + ' (' + aStatus[1] + ')' : '';
|
||||
}, this);
|
||||
|
||||
this.message.subscribe(function (oMessage) {
|
||||
|
||||
this.messageActiveDom(null);
|
||||
|
|
@ -192,6 +220,7 @@
|
|||
this.viewHash = oMessage.hash;
|
||||
this.viewSubject(oMessage.subject());
|
||||
this.viewFromShort(oMessage.fromToLine(true, true));
|
||||
this.viewFromDkimData(oMessage.fromDkimData());
|
||||
this.viewToShort(oMessage.toToLine(true, true));
|
||||
this.viewFrom(oMessage.fromToLine(false));
|
||||
this.viewTo(oMessage.toToLine(false));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue