Verificação de email no asp
Ola galera estou com um problema. Tendei fazer uma validação para saber se os campos estao em branco aparecer a mensagem (campos com * sao obrigatorio), caso ele preencha e clique em enviar o email sera enviado e aparece (email enviado com sucesso) se der algum erro quero apresentar a mensagem (erro ao tentar enviar email).
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.
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.
Curtidas 0
Respostas
Henrique Gasparotto
28/01/2014
Opa Miller,
Esses teus if/else estão com sérios problemas. Dá uma olhada neles, ou posta aí pra te ajudarmos.
Esses teus if/else estão com sérios problemas. Dá uma olhada neles, ou posta aí pra te ajudarmos.
GOSTEI 0
Leandro Chiodini
28/01/2014
Bom dia Cowboy-Woody,
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
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
GOSTEI 0
Celiol.
28/01/2014
ta ai entao galera se puder ajudar, esta tudo dentro do evento click. Quero fazer a verificação caso o usuario clique em enviar sem preencher o formulario mas esta dando erro ele esta enviando com esses valores da mascara ai da erro pois o email nao existe. e fiz um teste para ver se da erro quando o usuario estiver sem internet ou outro motivo e ele mandou mensagem de sucesso mesmo assim. ta ai o codigo lagera valeu.
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.
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.
GOSTEI 0
Celiol.
28/01/2014
ola e ai galera alguem pode da uma ajuda. Obrigado.
GOSTEI 0
Leandro Chiodini
28/01/2014
Não utiliza o &&
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,
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,
GOSTEI 0
Henrique Gasparotto
28/01/2014
Olá Miller,
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:
seria correto. Só tem que ver qual a exceção que ele levanta quando falta internet.
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.
GOSTEI 0
Celiol.
28/01/2014
e existe agum codigo que eu possa verificar se ha falta de internet pra tratar o erro?
GOSTEI 0
Celiol.
28/01/2014
ola olha so como eu fiz mas deu.... quase certo apenas a mensagem de erro nao funciona e tentei fazer um envio do formulario para o usuario tambem e adicionei o email que ele preenche no formulario ele enviou apenas pra mim e no outro que eu coloquei ele nao envia como fazer para enviar para os dois?
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
}
}
}
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
}
}
}
GOSTEI 0
Henrique Gasparotto
28/01/2014
Quanto ao envio, não conheço muito bem essa classe MailMessage, mas ela deve ter algum método/propriedade para definir o CC, se você deseja enviar para mais de uma pessoa. Algo como:
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().
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().
GOSTEI 0
Celiol.
28/01/2014
verdade cara esqueci disso tem sim o 'cc' no asp, eu que nem lembrava mais e o erro vou ver como voce falou valeu cara.
GOSTEI 0
Celiol.
28/01/2014
galera valeu pela ajuda agora ja deu tudo certo a nao ser que precise de mais algo mas ai pergunto em outro post. Este ja ajudou muito valeu.
ADM pode finalizar este também muito obrigado.
Abraços MIller.
ADM pode finalizar este também muito obrigado.
Abraços MIller.
GOSTEI 0