表单正在发送,但问题是,即使ex.Message值为Null,但成功消息仍未显示--它应该打印“提交成功的表单”。但事实并非如此。
当ex.Message不是空的时候。错误消息正在运行,它打印"Error submiting“。
需要帮助,谢谢提前!
Controller.cs
if (!ModelState.IsValid)
return CurrentUmbracoPage();
MailMessage message = new MailMessage();
message.To.Add("test@gmail.com");
message.Subject = "New Contact request";
message.From = new System.Net.Mail.MailAddress(model.Email, model.Name);
message.Body = model.Message;
SmtpClient smtp = new SmtpClient("mail.domain.com", 26);
try
{
smtp.Send(message);
}
catch (Exception ex)
{
if (ex.Message == null)
{
ViewBag.Success = "Form submitted successfully.";
}
else {
ViewBag.ErrorMessage = "Error submiting message.";
}
return CurrentUmbracoPage();
}发布于 2015-08-10 08:08:36
如果电子邮件发送成功,也没有任何例外需要捕获,这可能就是您的邮件没有出现的原因。
相反,将该消息移动到.Send之后的try块,这样就可以做到这一点。
编辑:而且,我认为您的返回语句应该移到try-catch块之外.
https://stackoverflow.com/questions/31913635
复制相似问题