Verificação de email no asp
28/01/2014
0
mas fiz isso com if e else , mas se o usuario clicar em enviar sem preencher os campos ele tenta enviar o email com os valores que coloquei na marca dagua, e ai chega na minha caisa como erro ao tentar enviar, mas vai assim mesmo, e tentei fazer um teste sem estar conectado na net e em vez de aparecer erro ao tentar enviar email, ele aparecesse email enviado com sucesso podem ajudar como resolver este teste de envio.
Obrigado Miller.
Celiol.
Posts
29/01/2014
Henrique Gasparotto
Esses teus if/else estão com sérios problemas. Dá uma olhada neles, ou posta aí pra te ajudarmos.
29/01/2014
Leandro Chiodini
Realmente esse tipo de tratamento usando If/Else,
deve ser feito de forma muito eficiente,
Porem precisamos de mais detalhes para te ajudar,
posta o codigo onde você faz as verificações,
podemos pensar em usar um ErroProvider para dar as mensagens de tratamento que voce deseja,
ficamos no aguardo.
att
30/01/2014
Celiol.
public partial class contato : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//marca dagua do formulario
txtNome.Attributes.Add("data-marcadagua", "Digite o nome completo");
txtEmailC.Attributes.Add("data-marcadagua", "seuemail@email.com.br");
txtEmpresa.Attributes.Add("data-marcadagua", "Informe a empresa");
txtFoneC.Attributes.Add("data-marcadagua", "(99) 99999 - 9999");
txtMess.Attributes.Add("data-marcadagua", "Informe sua questão...");
}
protected void btnEnviar_Click(object sender, ImageClickEventArgs e)
{
if (txtNome.Text == "Digite o nome completo" && txtEmailC.Text == "seuemail@email.com.br" && txtEmpresa.Text == "Informe a empresa" && txtFoneC.Text == "(99) 99999 - 9999" && txtMess.Text == "Informe sua questão...")
{
lblMes.Visible = true;
lblMes.Text = "Campos com * são obrigatórios!";
}
else
{
try
{
string servidor = ConfigurationManager.AppSettings["servidor"].ToString();
string emailContato = ConfigurationManager.AppSettings["emailContato"].ToString();
string senhaContato = ConfigurationManager.AppSettings["senha"].ToString();
StringBuilder corpo = new StringBuilder();
corpo.Append("Delivery - TI");
corpo.Append("<br />Dados enviados para contato:");
corpo.Append("<br />Nome: " + txtNome.Text);
corpo.Append("<br />Email: " + txtEmailC.Text);
corpo.Append("<br />Empresa: " + txtEmpresa.Text);
corpo.Append("<BR />Assunto: " + ddlAssunto.Text);
corpo.Append("<br />Telefone: " + txtFoneC.Text);
corpo.Append("<br />Menssagem: " + txtMess.Text);
corpo.Append("<br/><br/>");
corpo.Append("<br/> Nao responda este email, ele foi enviado altomáticamente.");
corpo.Append("<br/> Se quiser entrar em contato com a Delivery-TI acesse: www.deliveryti.com/contato");
//configuração do email
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(emailContato);
mailMessage.To.Add(txtEmailC.Text);
mailMessage.Priority = MailPriority.Normal;
mailMessage.Subject = "Email enviado por Delivery-TI";
mailMessage.IsBodyHtml = true;
mailMessage.Body = corpo.ToString();
mailMessage.SubjectEncoding = Encoding.GetEncoding("ISO-8859-1");
mailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1");
//configuração do servidor
SmtpClient objSMTP = new SmtpClient(servidor);
//smtp.Port = 587;
objSMTP.EnableSsl = true;
objSMTP.Credentials = new NetworkCredential(emailContato, senhaContato);
objSMTP.Send(mailMessage);
objSMTP.Host = "pop.gmail.com";
objSMTP.Credentials = new NetworkCredential("login", "senha");
//enviar email
objSMTP.Send(mailMessage);
lblMes.Visible = true;
lblMes.Text = "Email enviado com sucesso!";
}
catch { }
txtNome.Text = "";
txtEmailC.Text = "";
txtEmpresa.Text = "";
txtFoneC.Text = "";
txtMess.Text = "";
}
lblMes.Visible = true;
lblMes.Text = "Falha ao tentar enviar email!";
}
}
bem galera se puderem ajudar.
abraços Miller.
03/02/2014
Leandro Chiodini
pois para ele entrar vai ter que todos eles estarem com os valores padrões.
utilize o OR
assim sera melhor confirmar se algum deles esta nulo
att,
03/02/2014
Henrique Gasparotto
Além do que o Leandro comentou, teu catch não está pegando exceção nenhuma, além de não ter nenhum código.
Algo como:
try{ //Código try } catch (ExceçãoFaltadeInternet e) { //Código falta de internet } catch (Exception e) { //Código erro geral }
seria correto. Só tem que ver qual a exceção que ele levanta quando falta internet.
03/02/2014
Celiol.
03/02/2014
Celiol.
olha o codigo:
protected void btnEnviar_Click(object sender, ImageClickEventArgs e)
{
if (txtNome.Text == "Digite o nome completo" || txtEmailC.Text == "seuemail@email.com.br" || txtFoneC.Text == "(99) 99999 - 9999")
{
lblMes.Visible = true;
lblMes.Text = "Campos com * são obrigatórios!";
txtNome.Focus();
}
else
{
try
{
string servidor = ConfigurationManager.AppSettings["servidor"].ToString();
string emailContato = ConfigurationManager.AppSettings["emailContato"].ToString();
string senhaContato = ConfigurationManager.AppSettings["senha"].ToString();
StringBuilder corpo = new StringBuilder();
corpo.Append("Delivery - TI");
corpo.Append("<br />Dados enviados para contato:");
corpo.Append("<br />Nome: " + txtNome.Text);
corpo.Append("<br />Email: " + txtEmailC.Text);
corpo.Append("<br />Empresa: " + txtEmpresa.Text);
corpo.Append("<BR />Assunto: " + ddlAssunto.Text);
corpo.Append("<br />Telefone: " + txtFoneC.Text);
corpo.Append("<br />Menssagem: " + txtMess.Text);
//configuração do email
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(emailContato, txtEmailC.Text); ///////////////aqui galera tentei fazer com que ele enviasse este email para mim e para o usuario . mas deu erro como devo fazer?
mailMessage.To.Add(txtEmailC.Text);
mailMessage.Priority = MailPriority.Normal;
mailMessage.Subject = "Email enviado por Delivery-TI";
mailMessage.IsBodyHtml = true;
mailMessage.Body = corpo.ToString();
mailMessage.SubjectEncoding = Encoding.GetEncoding("ISO-8859-1");
mailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1");
//configuração do servidor
SmtpClient objSMTP = new SmtpClient(servidor);
//smtp.Port = 587;
objSMTP.EnableSsl = true;
objSMTP.Credentials = new NetworkCredential(emailContato, senhaContato);
objSMTP.Send(mailMessage);
objSMTP.Host = "pop.gmail.com";
objSMTP.Credentials = new NetworkCredential("login", "senha");
//enviar email
objSMTP.Send(mailMessage);
lblMes.Visible = true;
txtNome.Text = "";
txtEmailC.Text = "";
txtEmpresa.Text = "";
txtFoneC.Text = "";
txtMess.Text = "";
lblMes.Text = "E-mail enviado com sucesso!"; //////// mensagem caso de tudo certo
}
catch(Exception) {
txtNome.Text = "";
txtEmailC.Text = "";
txtEmpresa.Text = "";
txtFoneC.Text = "";
txtMess.Text = "";
lblMes.Visible = true;
lblMes.Text = "Erro. Verifique sua conexão, ou tente novamente!"; /////////////// aqui galera mesmo enviando o email ele mostra esta mensagem
}
}
}
04/02/2014
Henrique Gasparotto
mailMessage.CC.Add(email); // OU mailMessage.To.Add(email1); mailMessage.To.Add(email2);
No mais, creio que está tudo certo. A questão do erro você consegue enxergar melhor o que está acontecendo se der um catch(Exception e), por exemplo, e pegar a mensagem que a exceção gera com e.message().
05/02/2014
Celiol.
06/02/2014
Celiol.
ADM pode finalizar este também muito obrigado.
Abraços MIller.
Clique aqui para fazer login e interagir na Comunidade :)