private async Task <Email> ProcessEmailResponseAsync(EmailResponse response)
        {
            if (response is null)
            {
                throw new ArgumentNullException(nameof(response));
            }

            var email = new Email
            {
                Text    = response.Text,
                Html    = response.Html,
                Subject = response.Subject,
            };

            email.AddSenders(response.From);
            email.AddRecipients(response.To);
            email.AddAttachments(await ExtractAttachmentsMetadataAsync(response).ConfigureAwait(false));

            return(email);
        }