public
string SendEmail(bool
readWebConfig)
{
string emailStatus =
string.Empty;
string
from = "YourGmail";
//Replace this with your own correct Gmail Address
string to
= "[email protected]";
string cc
= "[email protected]; [email protected]; [email protected]";
string
bcc = "";
string
fromName = "bryian";
string
userName = "YourGMAIL";
string
password = "YourGMAILPassword";
Attachment attachment =
null;
//if you want
to send attachment, include the file location
// Attachment attachment = new
Attachment("file location");
SmtpClient client =
new SmtpClient();
client.EnableSsl = true;
//Gmail works on Server Secured Layer
if (!readWebConfig)
{
client.Credentials = new System.Net.NetworkCredential(userName,
password);
client.Port = 587; // Gmail works on this
port
client.Host = "smtp.gmail.com";
//hotmail: smtp.live.com
}
try
{
using (MailMessage mail =
new MailMessage())
{
mail.From = new MailAddress(from,
fromName);
mail.ReplyTo = new
MailAddress(from, fromName);
mail.Sender = mail.ReplyTo;
if
(to.Contains(";"))
{
string[] _EmailsTO =
to.Split(";".ToCharArray());
for
(int i = 0; i < _EmailsTO.Length; i++)
{
mail.To.Add(new
MailAddress(_EmailsTO[i]));
}
}
else
{
if (!to.Equals(string.Empty))
{
mail.To.Add(new
MailAddress(to));
}
}
//CC
if (cc.Contains(";"))
{
string[] _EmailsCC =
cc.Split(";".ToCharArray());
for
(int i = 0; i < _EmailsCC.Length; i++)
{
mail.CC.Add(new
MailAddress(_EmailsCC[i]));
}
}
else
{
if (!cc.Equals(string.Empty))
{
mail.CC.Add(new
MailAddress(cc));
}
}
//BCC
if (bcc.Contains(";"))
{
string[] _EmailsBCC =
bcc.Split(";".ToCharArray());
for (int
i = 0; i < _EmailsBCC.Length; i++)
{
mail.Bcc.Add(new
MailAddress(_EmailsBCC[i]));
}
}
else
{
if (!bcc.Equals(string.Empty))
{
mail.Bcc.Add(new
MailAddress(cc));
}
}
string
message = "this is a test message";
mail.Subject = "test subject";
mail.Body = "<div style=\"font: 11px
verdana, arial\">";
mail.Body += message.Replace("\n",
"<br />") + "<br
/><br />";
mail.Body += "<hr /><br />";
mail.Body += "<h3>Sender
information</h3>";
mail.Body += "<div
style=\"font-size:10px;line-height:16px\">";
mail.Body += "<strong>Name:</strong>
" + fromName + "<br />";
mail.Body +=
"<strong>E-mail:</strong> " + from + "<br />";
mail.IsBodyHtml = true;
if (HttpContext.Current
!= null)
{
mail.Body += "<strong>IP
address:</strong> " +
HttpContext.Current.Request.UserHostAddress +
"<br />";
mail.Body +=
"<strong>User-agent:</strong> " + HttpContext.Current.Request.UserAgent;
}
//attachment
if (attachment !=
null)
{
mail.Attachments.Add(attachment);
}
client.Send(mail);
emailStatus = "success";
}
}
catch (Exception
ex)
{
emailStatus = ex.Message;
} // end try
return
emailStatus;
}
Explanation
The sample code is very straight forward and comments are included in it.
To send email using the mail
server information in the web.config file.
string status =
SendEmail(true);
If you want to send attachment,
include the file location. For instance.