none
Envio Email via C# RRS feed

  • Pergunta

  • Olá pessoal....

    Mais uma vez estou com dificuldades em um aplicativo.....

    Bom já pesquisei pela internet mais não estou conseguindo encontrar  uma solução.... O problema é o seguinte, Fiz um código que envia e-mail automático, através de um windows services, como funciona, meu windows services vai ficar vendo uma tabela e atualizando um campo especifico e toda vez que esse campo ser atualizado será gerado um e-mail automático e enviado no meu email, porem o código foi criado mais quando executo aparece um erro que informa:

    O processo do serviço não pôde se conectar ao controlador do serviço, Já procurei algo no google sobre controlador de serviço , revi meu código mais sem solução.

    Se alguem puder me ajudar....

     //instancia de autentificação no servidor de SMTP
                    SmtpClient cliente = new SmtpClient("smtp.gmail.com", 587);
                    cliente.EnableSsl = true;

                //Criando a mensagem e o corpo do texto de e-mail.
                    MailAddress remetente = new MailAddress("EmailRemetente@gmail.com", "NomeRemetente");
                    MailAddress destinatario = new MailAddress("EmailDestinatario@live.com.br", "NomeDestinatario");
                    MailMessage mensagem = new MailMessage(remetente, destinatario);

                    mensagem.Body = "Testeando Aplicação envio de Email via GMAIL";
                    mensagem.Subject = "Teste  Aplicação envio de Email via GMAIL - Dados.";

                //autenticando as credenciaias do email.
                    NetworkCredential credenciais = new NetworkCredential("MeuEmail@gmail.com", "MinhaSenha", "");
                    cliente.Credentials = credenciais;
                    Console.WriteLine("Enviando...");

                //iniciando o tratamento de erros 
                    try
                    {
                        cliente.Send(mensagem);
                        Console.WriteLine("OK");
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Exceção:" + e.ToString());
                    }
     

    segunda-feira, 22 de abril de 2013 18:14

Respostas

  • Boa tarde Thata_, Experimente isso, esta funcionando corretamente aqui nomeu código, pois uso um web service tambem

    using System.Net.Mail;

                 /Instância a classe Para envio de email
                MailMessage email = new MailMessage();
                // Emitente do email
                email.From = new MailAddress(email do emissor, "Sistema");
                // Destinatário
                email.To.Add(email do destinatario);
                // Cópia
                email.CC.Add("com copia para alguem");


                // Prioridade
                email.Priority = MailPriority.High;

                //Assunto
                email.Subject = "titulo do email";

                // Informa que o corpo é do Tipo Html
                email.IsBodyHtml = true;
                // Corpo da Página
                email.Body = "<html>corpo do email</html>"

                 // informa o servidor smtp
                    SmtpClient smtp = new SmtpClient("google.com.br");
                    // envia o email
                    smtp.Send(email);

    Se a resposta foi util por favor qualifique, obrigado.

    segunda-feira, 22 de abril de 2013 20:00
  • Então Guilherme esse Erro só da quando insiro o método de EnviaEmail(), Ele informa que é erro de controlador de serviço, mais já verifiquei aqui e não consigo entender.

    Já coloquei uma rotina que verifica cada passo do meu projeto e marca em um bloco de notas, porem nessa rotina quando chega no método EnviaEmail(), ele apresenta esse erro e no bloco de notas informa que não foi possível enviar o email.

    segunda-feira, 22 de abril de 2013 19:45

Todas as Respostas

  • Quando o erro ocorre? Apenas quando a rotina de email é chamada? Em que trecho de código o erro é disparado?

    wWw . Guilherme Ferrera . CoM

    segunda-feira, 22 de abril de 2013 18:17
  • Então Guilherme é o erro ocorre quando chamo a minha rotina de EnviaEmail().....

    Eu até achei que era algo relacionado ao código mais não estou entendendo o porque desse erro. Se eu tiro o método de EnviaEmail() funciona normalmente alterando a tabela. 

     
    segunda-feira, 22 de abril de 2013 18:36
  • Olá, 

    Não consegui identificar o erro no seu código, 

    a execução cai no  catch?

    você colocou uma impressão no console da mensagem de erro:

         catch (Exception e)
                    {
                        Console.WriteLine("Exceção:" + e.ToString());
                    }
    tente mudar para 

         catch (Exception e)
                    {
                        Console.WriteLine("Exceção:" + e.Message );
                    }


    Abs. Celso Zequim Junior http://csharpnamarra.blogspot.com/

    segunda-feira, 22 de abril de 2013 18:50
  • Olá Celso Alterei sim mais continua apresentando vou postar o PtrScn do Erro.

    Esse erro no visualizador de eventos do Windows. O meu Preograma se chama TESTEWINDOWS

    

    segunda-feira, 22 de abril de 2013 19:01
  • Desculpa, mas ainda não entendi em que linha cai o erro. Você consegue identificar?

    wWw . Guilherme Ferrera . CoM

    segunda-feira, 22 de abril de 2013 19:28
  • Então Guilherme esse Erro só da quando insiro o método de EnviaEmail(), Ele informa que é erro de controlador de serviço, mais já verifiquei aqui e não consigo entender.

    Já coloquei uma rotina que verifica cada passo do meu projeto e marca em um bloco de notas, porem nessa rotina quando chega no método EnviaEmail(), ele apresenta esse erro e no bloco de notas informa que não foi possível enviar o email.

    segunda-feira, 22 de abril de 2013 19:45
  • Boa tarde Thata_, Experimente isso, esta funcionando corretamente aqui nomeu código, pois uso um web service tambem

    using System.Net.Mail;

                 /Instância a classe Para envio de email
                MailMessage email = new MailMessage();
                // Emitente do email
                email.From = new MailAddress(email do emissor, "Sistema");
                // Destinatário
                email.To.Add(email do destinatario);
                // Cópia
                email.CC.Add("com copia para alguem");


                // Prioridade
                email.Priority = MailPriority.High;

                //Assunto
                email.Subject = "titulo do email";

                // Informa que o corpo é do Tipo Html
                email.IsBodyHtml = true;
                // Corpo da Página
                email.Body = "<html>corpo do email</html>"

                 // informa o servidor smtp
                    SmtpClient smtp = new SmtpClient("google.com.br");
                    // envia o email
                    smtp.Send(email);

    Se a resposta foi util por favor qualifique, obrigado.

    segunda-feira, 22 de abril de 2013 20:00