Monday, 28 January 2019

Business Logic for Email send mail in C sharp in .net

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Collections;

namespace Business_Logic
{
    public class AppHandler
    {
        private MailAddress emailRecipient;
        private MailAddress emailRecipientCC;
        private MailAddress emailSender;
        private String emailTo;
        private String emailCopy;
        private String emailPriority;
        private String emailSubject;
        private String emailMessage;
        private String emailSmtp;
        private FileUpload[] emailfileUpload;
        private string[] emailFile;
        string[] arrFields = new string[1000];
        string[] arrValues = new string[1000];


        // Email To multiple
        public String EmailTo
        {
            get { return emailTo; }
            set { emailTo = value; }
        }
        // Email Receipient
        public MailAddress EmailRecipient
        {
            get { return emailRecipient; }
            set { emailRecipient = value; }
        }
        // Email Receipient CC
        public MailAddress EmailRecipientCC
        {
            get { return emailRecipientCC; }
            set { emailRecipientCC = value; }
        }
        // Files upload
        public FileUpload[] UploadFiles
        {
            get { return emailfileUpload; }
            set { emailfileUpload = value; }
        }
        public string[] AttachedFilePath
        {
            get { return emailFile; }
            set { emailFile = value; }
        }
       
        //Email sender
        public MailAddress EmailSender
        {
            get { return emailSender; }
            set { emailSender = value; }
        }
       
        // Email copy
        public String EmailCopy
        {
            get { return emailCopy; }
            set { emailCopy = value; }
        }
        // Email Priority
        public String EmailPriority
        {
            get { return emailPriority; }
            set { emailPriority = value; }
        }
        //Email Subject
        public String EmailSubject
        {
            get { return emailSubject; }
            set { emailSubject = value; }
        }
        //Email Message
        public String EmailMessage
        {
            get { return emailMessage; }
            set { emailMessage = value; }
        }

        //Email Smtp address
        public String EmailSmtp
        {
            get { return emailSmtp; }
            set { emailSmtp = value; }
        }
    }
}
========================
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Business_Logic
{
    public sealed class EmailHandler
    {
        private static char[] charSeparators = new char[] { };
        private static String[] result;
        private static String[] resultCC;
        public static void SendMailMessage(AppHandler pMailApp)
        {
            try
            {
                MailMessage mailMsg = new MailMessage();
                result = pMailApp.EmailRecipient.ToString().Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                for (int count = 0; count < result.Length; count++)
                {
                    mailMsg.To.Add(new MailAddress(result[count]));
                }
                if (pMailApp.EmailRecipientCC != null)
                {
                    if (!string.IsNullOrEmpty(pMailApp.EmailRecipientCC.ToString()))
                    {
                        resultCC = pMailApp.EmailRecipientCC.ToString().Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                        for (int count = 0; count < resultCC.Length; count++)
                        {
                            mailMsg.CC.Add(new MailAddress(resultCC[count]));
                        }
                    }
                }
                mailMsg.IsBodyHtml = true;
                //Email Sender
                mailMsg.From = pMailApp.EmailSender;
                //Email Subject
                mailMsg.Subject = pMailApp.EmailSubject;
                //Email Body
                mailMsg.Body = pMailApp.EmailMessage;
                //Email Priority
                switch (pMailApp.EmailPriority.ToString())
                {
                    case "Low" :
                    mailMsg.Priority = MailPriority.Low;
                    break;
                    case "Normal" :
                    mailMsg.Priority = MailPriority.Normal;
                    break;
                    case "High" :
                    mailMsg.Priority = MailPriority.High;
                    break;
                }
                //Attachments
                if (pMailApp.AttachedFilePath != null)
                {
                    for (int i = 0; i < pMailApp.AttachedFilePath.Length; i++)
                    {
                        Attachment attachFile= new Attachment(pMailApp.AttachedFilePath[i]);
                        mailMsg.Attachments.Add(attachFile);            
                    }
                }
                //SMTP address
                SmtpClient smtpClient = new SmtpClient(pMailApp.EmailSmtp);
               // smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtpClient.Send(mailMsg);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public static void SendMailMessagenewMultiple(AppHandler pMailApp)
        {
            try
            {
                MailMessage mailMsg = new MailMessage();
                result = pMailApp.EmailTo.ToString().Split(';');
                for (int count = 0; count < result.Length; count++)
                {
                    mailMsg.To.Add(new MailAddress(result[count]));
                }
                if (pMailApp.EmailRecipientCC != null)
                {
                    if (!string.IsNullOrEmpty(pMailApp.EmailRecipientCC.ToString()))
                    {
                        resultCC = pMailApp.EmailRecipientCC.ToString().Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
                        for (int count = 0; count < resultCC.Length; count++)
                        {
                            mailMsg.CC.Add(new MailAddress(resultCC[count]));
                        }
                    }
                }
                mailMsg.IsBodyHtml = true;
                //Email Sender
                mailMsg.From = pMailApp.EmailSender;
                //Email Subject
                mailMsg.Subject = pMailApp.EmailSubject;
                //Email Body
                mailMsg.Body = pMailApp.EmailMessage;
                //Email Priority
                switch (pMailApp.EmailPriority.ToString())
                {
                    case "Low":
                        mailMsg.Priority = MailPriority.Low;
                        break;
                    case "Normal":
                        mailMsg.Priority = MailPriority.Normal;
                        break;
                    case "High":
                        mailMsg.Priority = MailPriority.High;
                        break;
                }
                //Attachments
                if (pMailApp.AttachedFilePath != null)
                {
                    for (int i = 0; i < pMailApp.AttachedFilePath.Length; i++)
                    {
                        Attachment attachFile = new Attachment(pMailApp.AttachedFilePath[i]);
                        mailMsg.Attachments.Add(attachFile);
                    }
                }
                //SMTP address
                SmtpClient smtpClient = new SmtpClient(pMailApp.EmailSmtp);
                // smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtpClient.Send(mailMsg);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
    }
}

No comments:

Post a Comment