public IEnumerable<SentMail> SendMail(IEnumerable<Message> mailMessages)
{
var output = new List<SentMail>();
// Modify this to suit your business case:
string mailUser = "[email protected]";
string mailUserPwd = "yourPassword";
SmtpClient client = new SmtpClient("smptp.yourMailHost.com");
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(mailUser, mailUserPwd);
client.EnableSsl = true;
client.Credentials = credentials;
foreach (var msg in mailMessages)
{
var mail = new MailMessage(msg.User.Email.Trim(), msg.Recipient.Email.Trim());
mail.Subject = msg.Subject;
mail.Body = msg.MessageBody;
try
{
client.Send(mail);
var sentMessage = new SentMail()
{
MailRecipientId = msg.Recipient.MailRecipientId,
SentToMail = msg.Recipient.Email,
SentFromMail = msg.User.Email,
SentDate = DateTime.Now
};
output.Add(sentMessage);
}
catch (Exception ex)
{
throw ex;
// Or, more likely, do some logging or something
}
}
return output;
}