Вы можете повысить эффективность, избегая выполнения одного и того же .map()
на каждой итерации .filter()
: создайте для него Set и затем проверьте членство с помощью .has()
:
filteredClasses() {
const hasGrades = this.gradeFilter.length;
const hasSubjects = this.subjectFilter.length;
const gradeSet = new Set(this.gradeFilter.map(el => el.value));
const subjectSet = new Set(this.subjectFilter.map(el => el.value));
return _.flatMap(this.classes).filter(x =>
x.name === this.selectedClass.name ||
( (!hasGrades || gradeSet.has(x.grade)) &&
(!hasSubjects || subjectSet.has(x.subjectId)) )
);
}
Вставка большей части MUA много дополнительных заголовков; однако, вот вид абсолютного минимума, который можно ожидать.
To:
Subject:
Date:
MIME-Version:
Content-type:
, Если Вы использующий HTML, затем необходимо, вероятно, использовать многослойные сообщения - но это не строго необходимо.
При определении, если отправитель является возможным спаммером, много сервисных проверок, если домен отправителя похож на пользователя удаленного доступа.
Кавычка из Википедии:
Одно электронное письмо техника против спама: проверка доменных имен в rDNS, чтобы видеть, вероятны ли они от пользователей удаленного доступа, динамично присвоенных адресов или других недорогих интернет-сервисов. Владельцы таких IP-адресов обычно присваивают им универсальные имена rDNS, такие как "1-2-3-4-dynamic-ip.example.com". Так как подавляющее большинство, но ни в коем случае все, электронной почты, которая происходит из этих компьютеров, являются спамом, много спам-фильтров отказываются от электронной почты с такими именами rDNS.
Почта действительно прибывала из 'mycompany.com'? У меня были проблемы с некоторым почтовым сервисным блокированием, если оно действительно не прибыло из сервер SMTP , что почта говорит, что оно делает.
А путь вокруг этого, для меня, делал из быть automail@mydomainnaim.com и добавлял reply-to
, будучи человеком, который отправил почту с помощью моей системы.