none
Enviar e-mail por aplicação C# no ASP.NET RRS feed

  • Pergunta


  • Amigos, boa tarde, estou precisando criar uma aplicação que faça o envio de e-mail internos, porém a unica informação que tenho sobre o servidor de e-mail é o nome do servidor e que é Microsoft Exchange Server.

    Pesquisando na internet achei o seguinte sistema para envio:

    using System.Net;
    using System.Net.Mail;

        public static void sendEmail()
        {
            string fromEmail = "";//sending email from...
            string ToEmail = "";//destination email            
            string body = "";
            string subject = "";

            try
            {
                SmtpClient sMail = new SmtpClient("");//exchange or smtp server goes here.
                sMail.DeliveryMethod = SmtpDeliveryMethod.Network;
                sMail.Credentials = new NetworkCredential("",""); //this line most likely wont be needed if you are already an         authenticated user.
                sMail.Send(fromEmail, ToEmail, subject, body);
            }
            catch (Exception ex)
            {
                WebMsgBox.Show(ex.ToString());
            }
        }


    Como configurar este sistema, onde conseguir o SMTP? as informações que tenho são suficientes? tenho um usuario que envia/recebe e-mail e queria utilizar o mesmo.
    Obrigado.

    segunda-feira, 22 de março de 2010 17:44

Respostas

  • Olá,Edgar

    Eu tenho uma classe que envia email dentro de uma plataforma EXCHANGE, veja se te ajuda.

    public static void SendMail(string erro)
        {
    
    
            try
            {
                SmtpClient client = new SmtpClient("meuservidorexchange", 25);
                client.Credentials = new NetworkCredential("meuusuario@meuservidor.com.br", "minhasenha");
    
                using (MailMessage msg = new MailMessage())
                {
                    msg.From = new MailAddress("meuusuario@meuservidor.com.br");
                    msg.Subject = "Texto";
                    msg.Body = erro;
    
                    msg.To.Add(new MailAddress("meuusuario@meuservidor.com.br"));
                    client.Send(msg);
                }
    
    
            }
            catch
            {
    
    
            }
    
        }

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    • Sugerido como Resposta Américo Arvani segunda-feira, 22 de março de 2010 18:53
    • Marcado como Resposta Edgar Esteves terça-feira, 23 de março de 2010 16:44
    segunda-feira, 22 de março de 2010 18:24
  • Olá , Edgar

    Verifique com o Administrador da Rede as configurações corretas do SMT e a porta disponível para essa transação , tente alterar para o endereço completo da URL do SMTP serversp222.br.sp , verifique se no seu caso você não precisa de EnableSsl = true , faça mostar o erro que está dando com :

    catch(SmtpException ErroExec)
            {
                WebMsgBox.Show(ErroExec.Message.ToString());            
            }
            catch(SmtpFailedRecipientException ErroRec)
            {
                WebMsgBox.Show(ErroRec.Message.ToString());            
            }
            catch (Exception ex)
            {
                WebMsgBox.Show(ex.Message.ToString());
            }
            

    ref http://www.macoratti.net/07/06/asp2_eml.htm

    ref http://www.codeproject.com/KB/vb/VB2005_SMTP_EMail.aspx


    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.

    • Marcado como Resposta Edgar Esteves terça-feira, 23 de março de 2010 16:43
    terça-feira, 23 de março de 2010 12:36

Todas as Respostas

  • Olá,Edgar

    Eu tenho uma classe que envia email dentro de uma plataforma EXCHANGE, veja se te ajuda.

    public static void SendMail(string erro)
        {
    
    
            try
            {
                SmtpClient client = new SmtpClient("meuservidorexchange", 25);
                client.Credentials = new NetworkCredential("meuusuario@meuservidor.com.br", "minhasenha");
    
                using (MailMessage msg = new MailMessage())
                {
                    msg.From = new MailAddress("meuusuario@meuservidor.com.br");
                    msg.Subject = "Texto";
                    msg.Body = erro;
    
                    msg.To.Add(new MailAddress("meuusuario@meuservidor.com.br"));
                    client.Send(msg);
                }
    
    
            }
            catch
            {
    
    
            }
    
        }

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    • Sugerido como Resposta Américo Arvani segunda-feira, 22 de março de 2010 18:53
    • Marcado como Resposta Edgar Esteves terça-feira, 23 de março de 2010 16:44
    segunda-feira, 22 de março de 2010 18:24
  • Olá,Edgar

    Eu tenho uma classe que envia email dentro de uma plataforma EXCHANGE, veja se te ajuda.

    public static void SendMail(string erro)
    
        {
    
    
    
    
    
            try
    
            {
    
                SmtpClient client = new SmtpClient("meuservidorexchange", 25);
    
                client.Credentials = new NetworkCredential("meuusuario@meuservidor.com.br", "minhasenha");
    
    
    
                using (MailMessage msg = new MailMessage())
    
                {
    
                    msg.From = new MailAddress("meuusuario@meuservidor.com.br");
    
                    msg.Subject = "Texto";
    
                    msg.Body = erro;
    
    
    
                    msg.To.Add(new MailAddress("meuusuario@meuservidor.com.br"));
    
                    client.Send(msg);
    
                }
    
    
    
    
    
            }
    
            catch
    
            {
    
    
    
    
    
            }
    
    
    
        }
    
    

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.


     

    Bom dia Américo, primeiramente obrigado pela resposta. Estou testando sua class, porém acho que o que estou errando é no servidor, olhando pelo outlook tenho a seguinte informação serversp222.br.sp no lugar de meuservidor coloquei apenas serversp222 e depois coloquei completo e mesmo assim não consegui (a possivel conexão) pois colocando de uma das formas da o mesmo erro: System.Net.Mail.SmtpException: Failure sending mail.

    Provavelmente estou pegando o nome errado?

     Aproveitando a duvida tem como fazer um teste de conexão antes do envio? tipo if(client.connect.open == true) ?

     

    Obrigado novamente.

    • Editado Edgar Esteves terça-feira, 23 de março de 2010 11:01 complemento...
    terça-feira, 23 de março de 2010 10:58
  • Fiz o teste usando o IP (dei um ping no nome do servidor) e a mensagem é a mesma,, estranho ^^
    terça-feira, 23 de março de 2010 11:05
  • Olá , Edgar

    Verifique com o Administrador da Rede as configurações corretas do SMT e a porta disponível para essa transação , tente alterar para o endereço completo da URL do SMTP serversp222.br.sp , verifique se no seu caso você não precisa de EnableSsl = true , faça mostar o erro que está dando com :

    catch(SmtpException ErroExec)
            {
                WebMsgBox.Show(ErroExec.Message.ToString());            
            }
            catch(SmtpFailedRecipientException ErroRec)
            {
                WebMsgBox.Show(ErroRec.Message.ToString());            
            }
            catch (Exception ex)
            {
                WebMsgBox.Show(ex.Message.ToString());
            }
            

    ref http://www.macoratti.net/07/06/asp2_eml.htm

    ref http://www.codeproject.com/KB/vb/VB2005_SMTP_EMail.aspx


    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.

    • Marcado como Resposta Edgar Esteves terça-feira, 23 de março de 2010 16:43
    terça-feira, 23 de março de 2010 12:36
  • Olá , Edgar

    Verifique com o Administrador da Rede as configurações corretas do SMT e a porta disponível para essa transação , tente alterar para o endereço completo da URL do SMTP serversp222.br.sp , verifique se no seu caso você não precisa de EnableSsl = true , faça mostar o erro que está dando com :

    catch(SmtpException ErroExec)
    
            {
    
                WebMsgBox.Show(ErroExec.Message.ToString());            
    
            }
    
            catch(SmtpFailedRecipientException ErroRec)
    
            {
    
                WebMsgBox.Show(ErroRec.Message.ToString());            
    
            }
    
            catch (Exception ex)
    
            {
    
                WebMsgBox.Show(ex.Message.ToString());
    
            }
    
            
    
    

    ref http://www.macoratti.net/07/06/asp2_eml.htm

    ref http://www.codeproject.com/KB/vb/VB2005_SMTP_EMail.aspx

     


    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.

     


    Obrigado, agora vou apenas verificar os dados junto a equipe de suporte., valeu pelo apoio.
    terça-feira, 23 de março de 2010 16:44