none
form. envio de mensagem RRS feed

  • Discussão Geral

  • Galera estou finalizando um formulário de envio de mensagem, mais ainda consta um pequeno detalhe e gostaria de um suporte.

    Tenho o seguinte formulário de envio de e-mail abaixo:

    Mais o campo e-mail está fixando meu e-mail conforme imagem, no caso seria quem enviasse a mensagem deixasse o e-mail da pessoa em si, meu e-mail é somente para recebimento, alguém pode me ajudar referente ao caso? Segue código tb!!!

    MailMessage email = new MailMessage();
                MailAddress addres = new MailAddress(txtEmail.Text = "fernando.goliveira@terra.com.br");
                MailAddress sRpt = new MailAddress(txtEmail.Text);

                email.To.Add(txtEmail.Text = "fernando.goliveira@terra.com.br");
                email.From = addres;
                email.ReplyTo = sRpt;
                email.Priority = MailPriority.Normal;
                email.IsBodyHtml = false;
                email.Subject = txtAssunto.Text;

                StringBuilder msg = new StringBuilder();
                
                msg.Append("E-mail do Contato:" + txtEmail.Text + "").Append(Environment.NewLine);
                msg.Append("Assunto" + txtAssunto.Text + "").Append(Environment.NewLine);
                msg.Append("Mensagem: " + txtMensagem.Text + "").Append(Environment.NewLine);

                email.Body = msg.ToString();


     

    Fernando Gomes

    quinta-feira, 20 de junho de 2013 13:31

Todas as Respostas

  • Fernando eu uso o smtpserver com o ip do meu e-mail assim o usuário somente coloca o e-mail dele faço assim em vb.net

    Mail.Body = mensagem
    Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
    Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "seu servidor de e-mail")
    Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "a senha do e-mail")
    SmtpMail.SmtpServer = "seu ip do e-mail"
    SmtpMail.Send(Mail)


    Junior

    quinta-feira, 20 de junho de 2013 13:40
  • Junior, gostei de como ficou dessa maneira, e sei que eh apenas um detalhe onde estou tentando buscar mais ainda não consegui, e alteração seria numa dessas duas linhas:

    1° linha - MailAddress addres = new MailAddress(txtEmail.Text = "fernando.goliveira@terra.com.br");

    2° linha - email.To.Add(txtEmail.Text = "fernando.goliveira@terra.com.br");

    Mais de qualquer maneira obrigado.


    Fernando Gomes

    quinta-feira, 20 de junho de 2013 14:44
  • Olá Fernando.

    Voce está recuperando as informações de forma incorreta. Altere para:

    1° linha - MailAddress addres = new MailAddress(txtEmail.Text);
    2° linha - email.To.Add(txtEmail.Text);

    Abraços,


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quinta-feira, 20 de junho de 2013 18:10
  • Alterei mais o servidor não autenticou, olha a mensagem!

    Transaction failed. The server response was: 5.7.1 Sender address rejected: Access denied


    Fernando Gomes

    quinta-feira, 20 de junho de 2013 19:20
  • Fernando como vc autentica seu e-mail ? vc tem que colocar o endereço ou site de autenticação, como te passei basta vc adaptar para o seu.

    Junior

    quinta-feira, 20 de junho de 2013 19:24
  • Olha como faço a autenticação Junior. Quando deixo EnableSsl verdadeiro me da essa mensagem:  Server does not support secure connections. 

    e quando deixo false ele me da essa: Transaction failed. The server response was: 5.7.1 Sender address rejected: Access denied

                SmtpClient enviar = new SmtpClient();
                enviar.Host = "smtp.sao.terra.com.br";
                enviar.Credentials = new                    System.Net.NetworkCredential("xxxxxx@xxx.com.br", "xxxxxxxx");
                enviar.DeliveryMethod = SmtpDeliveryMethod.Network;
                enviar.Port = 587;
                enviar.EnableSsl = true;
                enviar.Send(email);
                email.Dispose();


    Fernando Gomes

    quinta-feira, 20 de junho de 2013 19:44
  • Fernando, os dados de autenticação devem ser informados conforme mostrado pelo Junior.

    Veja o exemplo abaixo extraido do wiki da Locaweb (link):

    public void Page_Load(Object Sender, EventArgs e)
        {
            //Define os dados do e-mail
            string nomeRemetente        = "Seu Nome";
            string emailRemetente       = "email@seudominio.com.br";
     
            string emailDestinatario    = "email@destinatario.com.br";
            string emailComCopia        = "email@comcopia.com.br";
            string emailComCopiaOculta  = "email@comcopiaoculta.com.br";
     
            string assuntoMensagem      = "Teste de envio de emails usando System.Net.Mail em C#";
            string conteudoMensagem     = "Teste de envio de emails usando System.Net.Mail em C#";
     
            //Cria objeto com dados do e-mail.
            MailMessage objEmail = new MailMessage();
     
            //Define o Campo From e ReplyTo do e-mail.
            objEmail.From = new System.Net.Mail.MailAddress(nomeRemetente + "<" + emailRemetente + ">");
     
            //Define os destinatários do e-mail.
            objEmail.To.Add(emailDestinatario);
     
            //Enviar cópia para.
            //objEmail.CC.Add(emailComCopia);
     
            //Enviar cópia oculta para.
            //objEmail.Bcc.Add(emailComCopiaOculta);
     
            //Define a prioridade do e-mail.
            objEmail.Priority = System.Net.Mail.MailPriority.Normal;
     
            //Define o formato do e-mail HTML (caso não queira HTML alocar valor false)
            objEmail.IsBodyHtml = true;
     
            //Define título do e-mail.
            objEmail.Subject = assuntoMensagem;
     
            //Define o corpo do e-mail.
            objEmail.Body = conteudoMensagem;
     
            //Para evitar problemas de caracteres "estranhos", configuramos o charset para "ISO-8859-1"
            objEmail.SubjectEncoding    = System.Text.Encoding.GetEncoding("ISO-8859-1");
            objEmail.BodyEncoding       = System.Text.Encoding.GetEncoding("ISO-8859-1");
     
     
            // Caso queira enviar um arquivo anexo
            //Caminho do arquivo a ser enviado como anexo
            //string arquivo = Server.MapPath("arquivo.jpg");
     
            // Ou especifique o caminho manualmente
            //string arquivo = @"e:\home\LoginFTP\Web\arquivo.jpg";
     
            // Cria o anexo para o e-mail
            //Attachment anexo = new Attachment(arquivo, System.Net.Mime.MediaTypeNames.Application.Octet);
     
            // Anexa o arquivo a mensagemn
            //objEmail.Attachments.Add(anexo);
     
            //Cria objeto com os dados do SMTP
            System.Net.Mail.SmtpClient objSmtp = new System.Net.Mail.SmtpClient();
     
            //Alocamos o endereço do host para enviar os e-mails, localhost(recomendado) 
            objSmtp.Host = "localhost"; // aqui vai o seu servidor de email. 
            objSmtp.Port = 25;
     
            //Enviamos o e-mail através do método .send()
            try
            {
                objSmtp.Send(objEmail);
                Response.Write("E-mail enviado com sucesso !");
            }
            catch (Exception ex)
            {
                Response.Write("Ocorreram problemas no envio do e-mail. Erro = " + ex.Message);
            }
            finally {
                //excluímos o objeto de e-mail da memória
                objEmail.Dispose();
                //anexo.Dispose();
            }
     }


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quinta-feira, 20 de junho de 2013 19:53
  • O problema ai é questão de acesso, vc tem algo como permissões de acesso no seu firewall ? e as credentials estão corretas ? vc deveria checar no seu provedor de e-mail se todas as configurações que vc esta passando são corretas.


    Junior

    quinta-feira, 20 de junho de 2013 19:54
  • Bom dia galera gente boa.

    Pensei em algo que eu acho q tem sentido o textbox(e-mail) é somente para salvar o e-mail da pessoa q deixar alguma mensagem, não necessáriamente enviar a mensagem do e-mail dele, preciso que armazene o e-mail dele apenas.

    que alterações tenho que fazer para aplicar isso..?

    Valeu. 


    Fernando Gomes

    sexta-feira, 21 de junho de 2013 13:41
  • Galera agradeço o apoio de vcs, mais consegui chegar na questão onde eu queria..

    Abraços


    Fernando Gomes

    sexta-feira, 21 de junho de 2013 14:04