public bool send(EmailMessage emailMessage)
{
if (emailMessage.isNull())
return false;
//emailMessage.Message += TMConsts.EMAIL_DEFAULT_FOOTER;
emailMessage.Message += Email_Footer;
Sent_EmailMessages.Add(emailMessage);
if (emailMessage.From.notValid())
emailMessage.From = this.From;
TM_UserData.Current.logTBotActivity("Send Email","From: {0} To: {1} Subject: {2}".format(emailMessage.From, emailMessage.To, emailMessage.Subject));
try
{
if (this.serverNotConfigured())
{
emailMessage.SentStatus = SentStatus.NoConfig;
return false;
}
emailMessage.SentStatus = SentStatus.Sending;
"Sending email:\n to: {0}\n from: {0}\n subject: {0} ".info(emailMessage.To, emailMessage.Subject, emailMessage.Message);
var mailMsg = new MailMessage();
// To
mailMsg.To.Add(new MailAddress(emailMessage.To));
// From
mailMsg.From = new MailAddress(emailMessage.From);
// Subject and multipart/alternative Body
mailMsg.Subject = emailMessage.Subject;
if (emailMessage.HtmlMessage)
{
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(emailMessage.Message, null, MediaTypeNames.Text.Plain));
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(emailMessage.Message, null, MediaTypeNames.Text.Html));
}
else
{
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(emailMessage.Message, null, MediaTypeNames.Text.Plain));
}
// Init SmtpClient and send
var smtpClient = new SmtpClient(Smtp_Server, 587);
var credentials = new System.Net.NetworkCredential(Smtp_UserName, Smtp_Password);
smtpClient.EnableSsl = true;
smtpClient.Credentials = credentials;
if (Dont_Send_Emails)
{
emailMessage.SentStatus = SentStatus.NotSent;
}
else
{
smtpClient.Send(mailMsg);
emailMessage.SentStatus = SentStatus.Sent;
emailMessage.Sent_Date = DateTime.Now.ToFileTimeUtc();
}
return true;
}
catch (Exception ex)
{
ex.log("[Error sending email");
emailMessage.SentStatus = SentStatus.Error;
return false;
}
}