function replyAll(newMsg, origin = {}, useEncrypted = false) {
        const { Subject, ToList, ReplyTos, CCList, BCCList, encryptedSubject = '' } = origin;
        newMsg.Action = REPLY_ALL;
        newMsg.Subject = formatSubject(useEncrypted ? encryptedSubject : Subject, RE_PREFIX);

        if (isSent(origin) || isSentAndReceived(origin)) {
            newMsg.ToList = ToList;
            newMsg.CCList = CCList;
            newMsg.BCCList = BCCList;
        } else {
            newMsg.ToList = ReplyTos;
            newMsg.CCList = _.union(ToList, CCList);

            // Remove user address in CCList and ToList
            const userAddresses = _.map(addresses, ({ Email = '' }) => Email.toLowerCase());
            newMsg.CCList = omitUserAddresses(newMsg.CCList, userAddresses);
        }
    }
/**
     * Format and build a replyAll
     * @param  {Message} newMsg          New message to build
     * @param  {String} origin           the original message
     * @param  {boolean} useEncrypted    should use encrypted
     */
Format and build a replyAll
@param  {Message} newMsg          New message to build
@param  {String} origin           the original message
@param  {boolean} useEncrypted    should use encrypted
Format and build a replyAll @param { Message } newMsg New message to build @param { String } origin the original message @param { boolean } useEncrypted should use encrypted
function replyAll(newMsg, origin = {}, useEncrypted = false) {
        const { Subject, ToList, ReplyTos, CCList, BCCList, encryptedSubject = '' } = origin;
        newMsg.Action = REPLY_ALL;
        newMsg.Subject = formatSubject(useEncrypted ? encryptedSubject : Subject, RE_PREFIX);
        if (isSent(origin) || isSentAndReceived(origin)) {
            newMsg.ToList = ToList;
            newMsg.CCList = CCList;
            newMsg.BCCList = BCCList;
        } else {
            newMsg.ToList = ReplyTos;
            newMsg.CCList = _.union(ToList, CCList);
            const userAddresses = _.map(addresses, ({ Email = '' }) => Email.toLowerCase());
            newMsg.CCList = omitUserAddresses(newMsg.CCList, userAddresses);
        }
    }
function replyAll ( newMsg , origin = { } , useEncrypted = false ) { const { Subject , ToList , ReplyTos , CCList , BCCList , encryptedSubject = '' } = origin ; newMsg . Action = REPLY_ALL ; newMsg . Subject = formatSubject ( useEncrypted ? encryptedSubject : Subject , RE_PREFIX ) ; if ( isSent ( origin ) || isSentAndReceived ( origin ) ) { newMsg . ToList = ToList ; newMsg . CCList = CCList ; newMsg . BCCList = BCCList ; } else { newMsg . ToList = ReplyTos ; newMsg . CCList = _ . union ( ToList , CCList ) ; const userAddresses = _ . map ( addresses , ( { Email = '' } ) => Email . toLowerCase ( ) ) ; newMsg . CCList = omitUserAddresses ( newMsg . CCList , userAddresses ) ; } }
Format and build a replyAll
 @param  {Message} newMsg          New message to build
 @param  {String} origin           the original message
 @param  {boolean} useEncrypted    should use encrypted
Format and build a replyAll @param { Message } newMsg New message to build @param { String } origin the original message @param { boolean } useEncrypted should use encrypted
// Remove user address in CCList and ToList