[英]Alert Message in ASP.Net with System.Net.Mail
这是我的代码
protected void Unnamed_Click(object sender, EventArgs e)
{
try
{
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add(ConfigurationManager.AppSettings["EmailTo"].ToString());
mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUse"].ToString(), "Contacto_PortalWeb", System.Text.Encoding.UTF8);
mail.Subject = txtsubject.Text;
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "Nombre: " + txtName.Text + "<br/><br/>Correo: " + txtemail.Text + "<br/><br/>Telefóno: " + txtphone.Text + "<br/><br/>Compañia: " + txtcmpnm.Text + "<br/><br/>Contenido: <br/>" + txtmsg.Text;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
//SMTP CLIENT
SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["smtp"].ToString());
client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUse"].ToString(), ConfigurationManager.AppSettings["Password"].ToString());
client.Port = int.Parse(ConfigurationManager.AppSettings["Port"].ToString());
client.Host = ConfigurationManager.AppSettings["smtp"].ToString();
client.EnableSsl = true;
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertMessage", "alert('Mensaje enviado!');", true);
CleartextBoxes(this);
}
catch (Exception ex)
{
Exception ex2 = ex;
string errorMessage = string.Empty;
while (ex2 != null)
{
errorMessage += ex2.ToString();
ex2 = ex2.InnerException;
}
//ClientScript.RegisterStartupScript(Page.GetType(), "UserMsg", "<script type='text / javascript'>alert('Not send');if(alert){ window.location='contact.aspx';}</script>", true);
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertMessage", "alert('Por favor intentalo nuevamente ' "+ex2.ToString()+");", true);
}
}
我有一个奇怪的问题,是关于消息的,当用户发送消息时,这项工作总是在我的电子邮件中到达,但是我想要的是当用户提供“提交”按钮但不显示时,显示一个警报窗口类型“已发送消息”显示警报窗口的成就...那么如何显示此警报?
如果您的页面上有一个ScriptManager,这应该可以工作...
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alertMessage","alert('Message sent!)');", true);
回答第二个问题
好的,您实际上并没有在try块中的任何地方调用client.Send()。 这就是为什么您总是看到'Mensaje enviado!'的原因。 警报消息,当您期望它失败时。
在client.EnableSsl = true;
下添加以下行client.EnableSsl = true;
client.Send(mail);
如果发送邮件时没有引发异常,您将看到“ Mensaje enviado!”。 警报消息。
如果发生异常,则Catch块中的代码将运行,并且应显示“ Poravour intentalo nuevamente”警报消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.