///----------------------------------------------------------------------------------------
///
/// Send Email to a List of Recipients
///
///
private void Deliver(List<deliver> deliver)
{
try
{
//Get Configuration from App.config
string email = ConfigurationManager.AppSettings["email"].ToString();
string emailpass = ConfigurationManager.AppSettings["emailpass"].ToString();
string host = ConfigurationManager.AppSettings["host"].ToString();
string port = ConfigurationManager.AppSettings["port"].ToString();
string SSL = ConfigurationManager.AppSettings["SSL"].ToString();
string Credentials = ConfigurationManager.AppSettings["Credentials"].ToString();
string nick = ConfigurationManager.AppSettings["Nick"].ToString();
foreach (var item in deliver)
{
// Mail Obejct
MailMessage mail = new MailMessage();
mail.From = new MailAddress(email, nick);
mail.To.Add(item.Email);
mail.Subject = item.Subject;
// Body.
string text = Body;
AlternateView plainView = AlternateView.CreateAlternateViewFromString(text, Encoding.UTF8, MediaTypeNames.Text.Plain);
// HTML Body ...
string html = item.Body + text + "
";
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(html, Encoding.UTF8, MediaTypeNames.Text.Html);
// Image to put inside.
LinkedResource img = new LinkedResource(Pic, MediaTypeNames.Image.Jpeg);
img.ContentId = "imagen";
// Into HTML ...
htmlView.LinkedResources.Add(img);
// Put Toguether ...
mail.AlternateViews.Add(plainView);
mail.AlternateViews.Add(htmlView);
mail.IsBodyHtml = true;
// Send via SMTP server ...
SmtpClient client = new SmtpClient();
client.Port = int.Parse(port);
client.Host = host;
client.EnableSsl = Boolean.Parse(SSL);
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = Boolean.Parse(Credentials);
client.Credentials = new System.Net.NetworkCredential(email, emailpass);
client.Send(mail);
text = string.Empty;
html = string.Empty;
img.Dispose();
}
}
catch (SmtpException ex)
{
return;
}
}