Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Mailho

[Resolvido] Problema ao enviar comentario atraves de um formulari

Recommended Posts

Gostaria da ajuda de voces pra saber com eu faço pra enviar um comentario por email atraves de um formulario na minha pagina!

 

entao, eu tenho um daqueles formularios para a pessoa preencher, com nome, telefone, email, assunto e o campo para o comentario. Eu achei varios exemplos mas em todos eles é usado um email ou comentario fixo! e nao se é chamado o que for preenchido no txtBox tendeu?

 

Eu achei um codigo que esta indo mais ou menos nessa ideia, mas ta dando erro! se alguem puder me ajudar com o erro ou me passar um codigo seria muito bom! VLW de novo.

 

protected void enviar_Click(object sender, EventArgs e)
		{

	  if (txtNome.Text != "" & txtEmail.Text != "" & txtAssunto.Text != "" & txtComentario.Text != "")
			{
				SmtpClient smtpClient = new SmtpClient();
				MailMessage message = new MailMessage();

				try
				{
					MailAddress fromAddress = new MailAddress(txtEmail.Text, txtNome.Text);

					smtpClient.Host = "localhost";
					smtpClient.Port = 25;

					message.From = fromAddress;
					message.To.Add("andremailho@yahoo.com.br");
					message.Subject = txtAssunto.Text;

					message.IsBodyHtml = false;

					message.Body = txtComentario.Text;
					smtpClient.Send(message);

					lblmesage.Text = "Email enviado com sucesso.";
				}
				  
				catch (Exception ex)
				{
					lblmesage.Text = "* Campos Obrigatórios não foram preenchidos" + ex.Message;
				}
			}
}

dai aparece a seguinte mensagem de erro:

 

* Campos Obrigatórios não foram preenchidosMailbox unavailable. The server response was: 5.7.1 Unable to relay for andremailho@yahoo.com.br

 

 

mas o estranho é que eu to preenchendo todos os campos! ja tentei tirar o IF do começo e nada tambem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

smtpClient.Host = "localhost";
smtpClient.Port = 25;
Seu servidor localhost (sua máquina) tem um servidor SMTP configurado? Geralmente se usa SMTPs de outras empresas como locaweb (pago), gmail (gratuito).

 

Outra coisa, faltou colocar as credenciais para envio de e-mail, veja:

smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new System.Net.NetworkCredential("usuario", "senha");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa de um servidor de envio de e-mails, e consequentemente um domínio.

Você pode usar o smtp do google "smtp.google.com.br" e usar seu próprio e-mail do gmail ou comprar um.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A beleza! a empresa tem um! eu coloquei aqui e funfo! agora só pra finaliza, tipo, todos os campos apareceram, menos o campo telefone (que por sinal nao esta descrito no codigo), acho que ele tinha que aparecer no corpo da mensagem nao?

 

como eu posso fazer isso????????????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm, telefone é um textbox? Você precisa colocar no assunto ou no corpo da mensagem, algo como:

 

message.Subject = string.Format("{0} ({1})",txtAssunto.Text,txtTelefone.Text); //O telefone vai estar no assunto
ou

message.Body = string.Format("Telefone: {0} Comentário: {1}", txtTelefone.Text, txtTelefone.Text); //O telefone vai estar no corpo da mensagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.