Here was the old way of sending email using an SMTP email service
using System.Web.Mail; // OLD WAY ... private void SendEMail() { Common.ResponseHelper rh = new Common.ResponseHelper(); MailMessage email = new MailMessage(); email.To = _TargetEMail; email.Cc = _CcTargetEMail; email.From = _txtFromEMail; email.Subject = "EMail Subject"; email.Body = _txtComments; email.Priority = MailPriority.Normal; email.BodyFormat = MailFormat.Text; SmtpMail.SmtpServer = "localhost"; try { SmtpMail.Send(email); rh.WriteComment("Email has been sent successfully"); Response.Redirect("emailsent.aspx"); // Redirect to an email sent web-page } catch (Exception ex) { rh.WriteComment("Send failure: " + ex.ToString()); } }Had to convert this to using the new form
using System.Net.Mail; ... private void TrySendEMail() { Common.ResponseHelper rh = new Common.ResponseHelper(); try { using (MailMessage email = new MailMessage()) { email.To.Add(_targetEMail); email.CC.Add(_ccTargetEMail); email.From = new MailAddress(_fromEMailAddress); email.Subject = "EMail Subject"; email.Body = _txtComments; email.Priority = MailPriority.Normal; email.IsBodyHtml = false; using (SmtpClient smtp = new SmtpClient()) { smtp.Host = "localhost"; smtp.Port = 25; smtp.EnableSsl = false; NetworkCredential networkCred = new NetworkCredential( _fromEMailAddress, UnmashPassword("oX9iioW7eTX5LS7T")); smtp.UseDefaultCredentials = true; smtp.Credentials = networkCred; smtp.Send(email); rh.WriteComment("Email has been sent successfully"); Response.Redirect("emailsent.aspx"); } } } catch (Exception exc) { rh.WriteComment("Send failure: " + exc.ToString()); } }Had some problems sending email to my googlemail account:
- Had to ensure that the email sender address was one that existed
- Had to ensure that the "MailMessage.From" property matched the EMail address used for the "NetworkCredentials" constructor.
No comments:
Post a Comment