Batman.Core.Communication.SMTP.Emailer.InternalSend C# (CSharp) Method

InternalSend() protected method

protected InternalSend ( Interfaces message ) : void
message Interfaces
return void
        protected override void InternalSend(Interfaces.IMessage message)
        {
            var Message = message as EmailMessage;
            if (Message == null)
                return;
            if (string.IsNullOrEmpty(Message.Body))
                Message.Body = " ";
            using (MailMessage TempMailMessage = new MailMessage())
            {
                char[] Splitter = { ',', ';' };
                string[] AddressCollection = Message.To.Split(Splitter);
                for (int x = 0; x < AddressCollection.Length; ++x)
                {
                    if (!string.IsNullOrEmpty(AddressCollection[x].Trim()))
                        TempMailMessage.To.Add(AddressCollection[x]);
                }
                if (!string.IsNullOrEmpty(Message.CC))
                {
                    AddressCollection = Message.CC.Split(Splitter);
                    for (int x = 0; x < AddressCollection.Length; ++x)
                    {
                        if (!string.IsNullOrEmpty(AddressCollection[x].Trim()))
                            TempMailMessage.CC.Add(AddressCollection[x]);
                    }
                }
                if (!string.IsNullOrEmpty(Message.Bcc))
                {
                    AddressCollection = Message.Bcc.Split(Splitter);
                    for (int x = 0; x < AddressCollection.Length; ++x)
                    {
                        if (!string.IsNullOrEmpty(AddressCollection[x].Trim()))
                            TempMailMessage.Bcc.Add(AddressCollection[x]);
                    }
                }
                TempMailMessage.Subject = Message.Subject;
                if (!string.IsNullOrEmpty(Message.From))
                    TempMailMessage.From = new MailAddress(Message.From);
                using (AlternateView BodyView = AlternateView.CreateAlternateViewFromString(Message.Body, null, MediaTypeNames.Text.Html))
                {
                    foreach (LinkedResource Resource in Message.EmbeddedResources)
                    {
                        BodyView.LinkedResources.Add(Resource);
                    }
                    TempMailMessage.AlternateViews.Add(BodyView);
                    TempMailMessage.Priority = Message.Priority;
                    TempMailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
                    TempMailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
                    TempMailMessage.IsBodyHtml = true;
                    foreach (Attachment TempAttachment in Message.Attachments)
                    {
                        TempMailMessage.Attachments.Add(TempAttachment);
                    }
                    if (!string.IsNullOrEmpty(Message.Server))
                    {
                        SendMessage(new SmtpClient(Message.Server, Message.Port), Message, TempMailMessage);
                    }
                    else
                    {
                        SendMessage(new SmtpClient(), Message, TempMailMessage);
                    }
                }
            }
        }