Academic Students Projects | Software School Projects | Free Source Codes | College
Projects By LANGUAGE
Libraries
Articles & seminars
Source Code
C# Email Utility  
Introduction
This useful C# .NET email utility configureseasily identifying the receiver,sender,message content and mailserver requiring minimal time for implementation.
Creating the Workspace
To start the Email Utility project,open a Microsoft Visual Studio 2005,.NET Framework Version 2.0 developmentenvironment and create a Console Application.Add two C# classes,one called EmailHandler.cs and another called AppHandler.cs and anApplication Configuration File called the default,App.config.
Code
As with any Microsoft C# project,theapplication consists of the configuration properties and theapplication.By default the App.config file is XML with a primaryelementnamed.configuration..To .configuration.element, set the properties required for email configuration:
  • Recipient
  • Sender
  • Copy List
  • Priority
  • Body Encoding
  • Subject
  • Message Body
  • SMTP Server
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Email.Recipient" value="John.Smith@abc.com, Joe.Wilson@abc.com" />
<add key="Email.Sender" value="Bob.Jones@xyz.com " />
<add key="Email.Copy" value="mycclist@xyz.com" />
<add key="Email.Priority" value="MailPriority.Normal "/>
<add key="Email.Encoding" value="Encoding.ASCII"/>
<add key="Email.Subject" value=".NET Email Utility Sample"/>
<add key="Email.Message" value="This email provides an example of sending a .NET
email using C#."/>
<add key="Email.Smtp" value="mailhost.xyz.com" />
</appSettings>
</configuration>
The Email Handler
The Email Handler provides a simple method forsending the email using the parameters defined in the applicationconfiguration file.
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.IO;
namespace EmailApp
{
public sealed class EmailHandler
{
private static char[] charSeparators = new char[] { };
private static String[] result;
public static void SendMailMessage(string smtpHost,MailAddress from,string to,
string subject, string message)
{
try
{
MailMessage mailMsg = new MailMessage();
result = to.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
for (int count = 0; count < result.Length; count++)
{ mailMsg.To.Add(new MailAddress(result[count])); }
mailMsg.From = from;
mailMsg.Subject = subject;
mailMsg.Body = message;
mailMsg.Priority = AppHandler.EmailPriority;
mailMsg.BodyEncoding = AppHandler.EmailEncoding;
SmtpClient smtpClient = new SmtpClient(smtpHost);
smtpClient.Send(mailMsg);
}
catch (Exception exc)
{
}
}
}
}
The AppHandler class makes the application parameters accessible as static variables in the EmailHandler class.
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
namespace EmailApp
{
public static class AppHandler
{
private static MailAddress emailRecipient;
private static String emailSender;
private static String emailCopy;
private static String emailPriority;
private static String emailEncoding;
private static String emailSubject;
private static String emailMessage;
private static String emailSmtp;

public static MailAddress EmailRecipient
{
get { return emailRecipient; }
set { emailRecipient = value; }
}
public static String EmailSender
{
get { return emailSender; }
set { emailSender = value; }
}
public static String EmailCopy
{
get { return emailCopy; }
set { emailCopy = value; }
}
public static String EmailPriority
{
get { return emailPriority; }
set { emailPriority = value; }
}
public static String EmailEncoding
{
get { return emailEncoding; }
set { emailEncoding = value; }
}
public static String EmailSubject
{
get { return emailSubject; }
set { emailSubject = value; }
}
public static String EmailMessage
{
get { return emailMessage; }
set { emailMessage = value; }
}
}
}
The EmailHandler usage involves setting the configuration parameters and calling one line of code.
AppHandler.EmailRecipient=new
MailAddress(System.Configuration.ConfigurationManager.AppSettings
["Email.Recipient"]);
AppHandler.EmailSender=System.Configuration.ConfigurationManager
.AppSettings ["Email.Sender"];
AppHandler.EmailCopy=System.Configuration.ConfigurationManager
.AppSettings["Email.Copy"];
AppHandler.EmailPriority=System.Configuration.ConfigurationManager
.AppSettings["Email.Priority"];
AppHandler.EmailEncoding=System.Configuration.ConfigurationManager
.AppSettings["Email.Encoding"];
AppHandler.EmailSubject=System.Configuration.ConfigurationManager
.AppSettings["Email.Subject"];
AppHandler.EmailMessage=System.Configuration.ConfigurationManager
.AppSettings["Email.Message"];
AppHandler.EmailSmtp =System.Configuration.ConfigurationManager
.AppSettings["Email.Smtp"];
EmailHandler.SendEmail
(AppHandler.EmailSmtp,AppHandler.EmailSender,
AppHandler.EmailRecipient,AppHandler.EmailSubject, AppHandler.EmailMessage);