22 lines
546 B
JavaScript
22 lines
546 B
JavaScript
function nbMembers(envelope) {
|
|
return getMembers(envelope).length;
|
|
}
|
|
|
|
function getMembers(envelope) {
|
|
const members = [];
|
|
const fields = ["from", "to", "sender", "replyTo", "cc", "bcc"];
|
|
fields.forEach((field) => {
|
|
if (!envelope[field]) return;
|
|
envelope[field].forEach((member) => {
|
|
if (members.find((m) => m.mailbox === member.mailbox && m.host === member.host)) return;
|
|
members.push(member);
|
|
});
|
|
});
|
|
return members;
|
|
}
|
|
|
|
module.exports = {
|
|
nbMembers,
|
|
getMembers,
|
|
};
|