Monday, December 7, 2015

C# - How to send email without any plugins


Below code helps to send email without any third party email plugins, but it requires SMTPServer details to be specified in web.config AppSettings. That server needs to be configured as email server.

using System.Net.Mail;
public void SendEmail(string fromAddress, string[] toAddress, string subject, string bodyContent, string[] filenames)
        {
            MailMessage email = new MailMessage();

            email.From = new MailAddress(fromAddress);
            if (toAddress != null && toAddress.Length > 0)
            {
                foreach (var toAdd in toAddress)
                {
                    email.To.Add(new MailAddress(toAdd));
                }
            }

            email.Subject = subject;
            email.Body = bodyContent;

            if (filenames != null && filenames.Length > 0)
            {
                foreach (var file in filenames)
                {
                    Attachment attachment;
                    attachment = new Attachment(@file);
                    email.Attachments.Add(attachment);
                }
            }

            try
            {
                using (var client = new SmtpClient())
                {
                    client.Send(email);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                email.Dispose();
            };
        }