/// <summary>
        /// Execute the Report command
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        public SpamAssassinReportResult ExecuteReport(SpamAssassinReportArgs e)
        {
            string[] additionalLines;
            var      result         = new SpamAssassinReportResult();
            var      responsePacket = SendMessageEx(SpamAssassinCommands.Report, PrepareCheckRequestMessage(e));

            CheckThrowResponsePacket(responsePacket);
            InterpretCheckResponseMessage(responsePacket.Message, out additionalLines, result);

            result.ReportText = JoinLines(additionalLines);

            return(result);
        }
        /// <summary>
        /// Execute the Report command
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        public SpamAssassinReportResult ExecuteReport(SpamAssassinReportArgs e)
        {
            string[] additionalLines;
            var result = new SpamAssassinReportResult();
            var responsePacket = SendMessageEx(SpamAssassinCommands.Report, PrepareCheckRequestMessage(e));

            CheckThrowResponsePacket(responsePacket);
            InterpretCheckResponseMessage(responsePacket.Message, out additionalLines, result);

            result.ReportText = JoinLines(additionalLines);

            return result;
        }