none
Envio de Email RRS feed

  • Pergunta

  • Olá   caros    colegas,
     usei a rotina do nosso amigo Junior para enviar email através da minha aplicação  mas nao  funcionou.
     não o que fiz de errado se alguém  puder ajudar...
     segue  abaixo o erro.
    Nota: estou tentando passar pelo hotmail.

    [WebException: O nome remoto não pôde ser resolvido: 'smtps.hotmail.com']

    como defini o config
    <system.net>
        <mailSettings>
          <smtp from="xxxxx@hotmail.com">
            <network host="smtps.hotmail.com " password="999999999" userName="AAAAAAAAAAA" />
          </smtp>
        </mailSettings>
      </system.net>
      será que o hosto esta  correto!!

    Linha 43:         emails.Priority = MailPriority.Normal

    Linha 44: Dim smtpClient As New SmtpClient()
    Linha 45: smtpClient.Send(emails) linha do erro
    Linha 46:
    Linha 47:
    [WebException: O nome remoto não pôde ser resolvido: 'smtps.hotmail.com']
    System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) +442
    System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) +309
    System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) +52
    System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) +469
    System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) +398
    System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) +354
    System.Net.Mail.SmtpClient.GetConnection() +83
    System.Net.Mail.SmtpClient.Send(MailMessage message) +2026

    Obrigado.
    sábado, 11 de abril de 2009 13:04

Respostas

  • Eai Antonio,


    Bom recomendo dar uma navegada nesse site http://www.systemwebmail.com/ ele contém vários links de como enviar email usando o System.Web.Mail (SWM), é muito completo e rico de informações.

    Em alguns casos você precisa especificar uma porta de saída do e-mail, como default é a 25, porém precisa ver se esta esta liberada em sua rede.
    Um exemplo de setar a porta de envio :


    <system.net>
        <mailSettings>
          <smtp from="test@foo.com">
            <network host="smtpserver1" port="25" userName="username" password="secret" defaultCredentials="true" />
          </smtp>
        </mailSettings>
      </system.net>
    
    


    Para finalizar da uma olhada nesse site :
    http://www.e-eeasy.com/SMTPServerList.aspx ele contém uma lista de servidores smtp, agora quanto usar os servidores smtp do hotmail é interessante vc dar uma lida nesse fórum : http://mailcall.spaces.live.com/Blog/cns!CC9301187A51FE33!44348.entry?sa=197529598



    Abraço,


    Nelson Borges - Analista de Sistemas
    sábado, 18 de abril de 2009 13:48
  • Antonio,

    1-) No caso do Gmail e de alguns outros provedores de e-mail é necessário habilitar o SSL (http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl.aspx)

    2-) Gmail se não estou enganado usa a porta 465 ou 587.. e não a 25..

    Refazendo seu código com as alterações:

    Const destino As String = "xxxxxxx@hotmail.com"
            Dim mm As New MailMessage("xxxxxx@gmail.com", destino)
            mm.Subject = "Teste de envio"
            mm.Body = "Mensagem de teste"
            mm.IsBodyHtml = True
            Dim smtp As New SmtpClient
            smtp.EnableSsl = True
            smtp.Send(mm)


    <system.net>
        <mailSettings>
          <smtp from="test@foo.com">
            <network host="smtpserver1" port="587" userName="username" password="secret" defaultCredentials="true" />
          </smtp>
        </mailSettings>
      </system.net>



    Mais detalhes de uma olhada neste post : http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4733&lngWId=10

    Repare que eu inclui uma linha e alterei a porta do web.config.... tenta ai se nao der certo poste novamente.


    Abraço,





    Nelson Borges - Analista de Sistemas
    quarta-feira, 22 de abril de 2009 03:33
  • Antonio,

    Acredito que o Hotmail não tenha serviço de SMTP, o que torna o caminho 'smtps.hotmail.com' inválido. Mas tente utilizar o endereço smtp.live.com (Porta 25 ou 587) no lugar.

    Caso não dê certo dê uma olhada neste link: http://www.liveside.net/main/archive/2009/03/13/pop3-technology-has-now-rolled-out-to-hotmail-customers-worldwide.aspx

    Att,
    Paulo R. Pereira - Obs.: Se a resposta foi útil não se esqueça de marcar. Obrigado!
    quarta-feira, 22 de abril de 2009 03:13
  • Boa noite Nelson,

    <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595.3pt 841.9pt; margin:70.85pt 3.0cm 70.85pt 3.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    Vou partir do inicio.
    A configuração do SMTP  onde devo fazê-la de fato, pois em uma das respostas foi dito que devo  configurá-la no IIS.
    Outra coisa eu consigo autenticar a minha conta de email de fora para dentro ou seja  fazer a autenticação através da
    página e não no próprio  Gmail. Obs: este foi outro detalhe comentado.

     

    <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595.3pt 841.9pt; margin:70.85pt 3.0cm 70.85pt 3.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    NOTA: Não imaginei que seria tão problemático o envio do email.  Claro  pode ser que eu  esteja errado.

    NOTA1: a configuração do SMTP foi feita através do outlook. Isso  é  correto?

     

    Quanto ao envio deu o mesmo erro.

       O servidor SMTP requer uma conexão segura ou o cliente não foi autenticado. A resposta do servidor foi: 5.5.1 Authentication   

       Required. Learn more at


      WEB config

      <system.net>
        <mailSettings>
           <smtp from="xxxxxxx@gmail.com">
           <network  host="smtp.gmail.com"  port="587"   password="999999999"  userName="xxxxxxxxxxx@gmail.com"   

            defaultCredentials="true"  />
          </smtp>
        </mailSettings>
      </system.net>

     

     Na rotina foram incluidas as seguintes linhas

             smtp.UseDefaultCredentials = True
            smtp.EnableSsl = True

     


    Muito Obrigado  pela ajuda que esta me prestando.
    quarta-feira, 22 de abril de 2009 23:29
  • Antonio, em Teoria não tem problemas veja este link .. > http://timheuer.com/blog/archive/2007/02/28/14002.aspx
    no entanto eu não recomendo, por posteriormente vc ter que dar manutenção no código.

    Se tiver com algum problema, poste aqui, sow peço para postar em outro thread para fecharmos este problema do e-mail.

    Abraço,
    Nelson Borges - Analista de Sistemas
    Nelson, tive o mesmo problema e resolvi desligando o antivirus Avast.
    segunda-feira, 19 de julho de 2010 13:51

Todas as Respostas



  • Olá Pessoal,


    Segue algumas referências para implementar envio de email:


    ASP.NET 2.0 - Enviando Emails
    http://www.macoratti.net/07/06/asp2_eml.htm


    VB 2005  - Enviando E-mails
    http://www.macoratti.net/07/09/vbn5_ee1.htm


    Enviando Emails : HTML e anexos
    http://www.macoratti.net/aspn_eml.htm


    ASP.NET 2.0 - Enviando E-mails
    http://www.macoratti.net/aspn_em2.htm


    Sending Email with ASP.NET
    http://www.aspheute.com/english/20000918.asp


    Enviando Emails
    http://www.macoratti.net/aspn_env.htm


    ASP.NET 2.0 - Envio de email automático para cadastro de usuário
    http://www.macoratti.net/07/09/aspn_cua.htm


    Criando um formulário de registro com ativação vai email.
    http://www.macoratti.net/aspn_atl.htm


    Sending Email with System.Net.Mail
    http://weblogs.asp.net/scottgu/archive/2005/12/10/432854.aspx


    Sending Emails in Asp.net
    http://www.codersource.net/csharp_sending_emails.aspx



    Abraços,


    Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.
    sábado, 11 de abril de 2009 14:41
  • Tudo bem Magno,

      Esse novo desafio que estou tendo  não está facil  ja peguei diversos exemplos
    e não funcionam ou seja não sei onde estou errando.
    pois é a peimeiro trabalho voltado para internet que estou executando.

    []'s

     
    Peguei o exemplo do Marcoratti
    deu o seguinte erro:
    Claramente estou fazendo alguma coisa errada e não estou enxergando.

    acredito que deva ser  a seguinte linha :SmtpMail.SmtpServer = "smtp2.hotmail.com"
    como pode ver estou tentando usar o hotmail.

    Linha 90:         SmtpMail.Send(emails)
    Linha 91:
    Linha 92: 'Label1.Text = "Email enviado com sucesso!!!";

    Arquivo de Origem: C:\Casapousada\Contato.aspx.vb    Linha: 90

    Rastreamento de Pilha:

    [COMException (0x80040213): Falha na conexão do transporte com o servidor.


    domingo, 12 de abril de 2009 23:16
  • Eai Antonio,


    Bom recomendo dar uma navegada nesse site http://www.systemwebmail.com/ ele contém vários links de como enviar email usando o System.Web.Mail (SWM), é muito completo e rico de informações.

    Em alguns casos você precisa especificar uma porta de saída do e-mail, como default é a 25, porém precisa ver se esta esta liberada em sua rede.
    Um exemplo de setar a porta de envio :


    <system.net>
        <mailSettings>
          <smtp from="test@foo.com">
            <network host="smtpserver1" port="25" userName="username" password="secret" defaultCredentials="true" />
          </smtp>
        </mailSettings>
      </system.net>
    
    


    Para finalizar da uma olhada nesse site :
    http://www.e-eeasy.com/SMTPServerList.aspx ele contém uma lista de servidores smtp, agora quanto usar os servidores smtp do hotmail é interessante vc dar uma lida nesse fórum : http://mailcall.spaces.live.com/Blog/cns!CC9301187A51FE33!44348.entry?sa=197529598



    Abraço,


    Nelson Borges - Analista de Sistemas
    sábado, 18 de abril de 2009 13:48
  • Tudo bem Nelson,

    Antes de mais nada obrigado pela dica.

     Cara, desta vez estou patinando muito. Não consigo fazer este envio de email   funcionar.
    vou passar a rotina para vc dar uma olhada não sei onde estou errando, ja tentei de varias formas mas nao da certo,,

    Nota: Criei uma conta do gmail no Outlook  fiz os testes de configuração não de erro's ou seja não sei mais  o que fazer
             posso até dizer  que não entendi  nada  ainda o porque de tanto erro.
             tentei hotmail, bol, gmail.

    Rotina de  envio:
           Const destino As String = "xxxxxxx@hotmail.com"
            Dim mm As New MailMessage("xxxxxx@gmail.com", destino)
            mm.Subject = "Teste de envio"
            mm.Body = "Mensagem de teste"
            mm.IsBodyHtml = True
            Dim smtp As New SmtpClient
            smtp.Send(mm)

    Web Config
          <system.net>
        <mailSettings>
           <smtp from="xxxxxxx@gmail.com">
           <network  host="smtp.gmail.com"  port="25"  defaultCredentials="true"   password="999999999"  userName="xxxxxxxxx@gmail.com"/>
          </smtp>
        </mailSettings>
      </system.net>
    Erro:
           
    Linha 42:         smtp.Send(mm)
    Linha 43:
    Linha 44:

    Arquivo de Origem: C:\Casapousada\Contato.aspx.vb    Linha: 42

    Rastreamento de Pilha:

    [SmtpException: O servidor SMTP requer uma conexão segura ou o cliente não foi autenticado. A resposta do servidor foi: 5.7.0 Must issue a STARTTLS command first. b29sm840721ana.7]
    System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) +190
    System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from) +83
    System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception) +230
    System.Net.Mail.SmtpClient.Send(MailMessage message) +2649
    Contato.enviaMailConfirmacao(String email) in C:\Casapousada\Contato.aspx.vb:42
    Contato.Button1_Click(Object sender, EventArgs e) in C:\Casapousada\Contato.aspx.vb:23
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +126
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +135
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +39
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +37
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +87
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4178
    Mais uma vez  obrigado.


    quarta-feira, 22 de abril de 2009 00:04
  • Antonio,

    Acredito que o Hotmail não tenha serviço de SMTP, o que torna o caminho 'smtps.hotmail.com' inválido. Mas tente utilizar o endereço smtp.live.com (Porta 25 ou 587) no lugar.

    Caso não dê certo dê uma olhada neste link: http://www.liveside.net/main/archive/2009/03/13/pop3-technology-has-now-rolled-out-to-hotmail-customers-worldwide.aspx

    Att,
    Paulo R. Pereira - Obs.: Se a resposta foi útil não se esqueça de marcar. Obrigado!
    quarta-feira, 22 de abril de 2009 03:13
  • Antonio,

    1-) No caso do Gmail e de alguns outros provedores de e-mail é necessário habilitar o SSL (http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl.aspx)

    2-) Gmail se não estou enganado usa a porta 465 ou 587.. e não a 25..

    Refazendo seu código com as alterações:

    Const destino As String = "xxxxxxx@hotmail.com"
            Dim mm As New MailMessage("xxxxxx@gmail.com", destino)
            mm.Subject = "Teste de envio"
            mm.Body = "Mensagem de teste"
            mm.IsBodyHtml = True
            Dim smtp As New SmtpClient
            smtp.EnableSsl = True
            smtp.Send(mm)


    <system.net>
        <mailSettings>
          <smtp from="test@foo.com">
            <network host="smtpserver1" port="587" userName="username" password="secret" defaultCredentials="true" />
          </smtp>
        </mailSettings>
      </system.net>



    Mais detalhes de uma olhada neste post : http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=4733&lngWId=10

    Repare que eu inclui uma linha e alterei a porta do web.config.... tenta ai se nao der certo poste novamente.


    Abraço,





    Nelson Borges - Analista de Sistemas
    quarta-feira, 22 de abril de 2009 03:33
  • Boa noite Nelson,

    <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595.3pt 841.9pt; margin:70.85pt 3.0cm 70.85pt 3.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    Vou partir do inicio.
    A configuração do SMTP  onde devo fazê-la de fato, pois em uma das respostas foi dito que devo  configurá-la no IIS.
    Outra coisa eu consigo autenticar a minha conta de email de fora para dentro ou seja  fazer a autenticação através da
    página e não no próprio  Gmail. Obs: este foi outro detalhe comentado.

     

    <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595.3pt 841.9pt; margin:70.85pt 3.0cm 70.85pt 3.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    NOTA: Não imaginei que seria tão problemático o envio do email.  Claro  pode ser que eu  esteja errado.

    NOTA1: a configuração do SMTP foi feita através do outlook. Isso  é  correto?

     

    Quanto ao envio deu o mesmo erro.

       O servidor SMTP requer uma conexão segura ou o cliente não foi autenticado. A resposta do servidor foi: 5.5.1 Authentication   

       Required. Learn more at


      WEB config

      <system.net>
        <mailSettings>
           <smtp from="xxxxxxx@gmail.com">
           <network  host="smtp.gmail.com"  port="587"   password="999999999"  userName="xxxxxxxxxxx@gmail.com"   

            defaultCredentials="true"  />
          </smtp>
        </mailSettings>
      </system.net>

     

     Na rotina foram incluidas as seguintes linhas

             smtp.UseDefaultCredentials = True
            smtp.EnableSsl = True

     


    Muito Obrigado  pela ajuda que esta me prestando.
    quarta-feira, 22 de abril de 2009 23:29
  • <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:595.3pt 841.9pt; margin:70.85pt 3.0cm 70.85pt 3.0cm; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    Boa Noite Paulo,

     Seguindo a sua orientação não estou mais utilizando o Hotmail e sim o Gmail.
    Mas  meu  amigo  esta  difícil chegar a um resultado positivo.
    como pode perceber ja  utilizei varias  formas  e  nada.



    Fiz algumas perguntas ao Nelson que são:
    a configuração do SMTP  ei fiz pelo Outlook  esta correto!
    Será que através de uma pagina é possível autenticar a sua conta de  email, ou seja envio para mim mesmo!


    Obrigado pela ajuda.

    quarta-feira, 22 de abril de 2009 23:36
  • Antonio,


    Faça um teste, eu criei este projeto e teste em uma apllication teste, faça o mesmo, troque apenas o seu usuário e senha e veja se o e-mail é enviado:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Net.Mail;
    using System.Net.Configuration;
    
    namespace WebApplication1
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                    
                string from = "XXXX@gmail.com"; //Replace this with your own correct Gmail Address
    
                string to = "juninhob16@hotmail.com";//Replace this with the Email Address to whom you want to send the mail
    
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                mail.To.Add(to);
                mail.From = new MailAddress(from, "One Ghost" , System.Text.Encoding.UTF8);
                mail.Subject = "This is a test mail" ;
                mail.SubjectEncoding = System.Text.Encoding.UTF8;
                mail.Body = "This is Email Body Text";
                mail.BodyEncoding = System.Text.Encoding.UTF8;
                mail.IsBodyHtml = true ;
                mail.Priority = MailPriority.High;
    
                SmtpClient client = new SmtpClient();
                //Add the Creddentials- use your own email id and password
    
                client.Credentials = new System.Net.NetworkCredential(from, "XXXXXX");
    
                client.Port = 587; // Gmail works on this port
                client.Host = "smtp.gmail.com";
                client.EnableSsl = true; //Gmail works on Server Secured Layer
                try
                {
                    client.Send(mail);
                }
                catch(Exception ex)
                {
                    throw ex ;
                }
    
            }
        }
    }
    

    Este projeto precisa funcionar, pois funcionou nas duas VM que tenho de testes aqui.


    Nelson Borges - Analista de Sistemas
    sábado, 25 de abril de 2009 03:10
  • Nelson Boa noite,

    Cara fantástico  funcionou.
    Só tenho que entender o porque  este funcionou e os outros não.
    vc usou c#  eu estou  usando vb.

    vou tentar adaptar este seu código na página que estou desenvolvendo em seguida darei um retorno.

    Fica só uma pergunta: existe algum problema de misturar uma página definida com C# e as demais em vb,
    pois tentei transferir o código para o vb e não deu certo, sendo assim criei uma nova página utilizando o seu código e funcionou.

     

    Um grande  abraço e muito obrigado  mesmo.

    sábado, 25 de abril de 2009 21:32
  • Antonio, em Teoria não tem problemas veja este link .. > http://timheuer.com/blog/archive/2007/02/28/14002.aspx
    no entanto eu não recomendo, por posteriormente vc ter que dar manutenção no código.

    Se tiver com algum problema, poste aqui, sow peço para postar em outro thread para fecharmos este problema do e-mail.

    Abraço,
    Nelson Borges - Analista de Sistemas
    quinta-feira, 30 de abril de 2009 00:16
  • domingo, 16 de agosto de 2009 16:46
  • Antonio, em Teoria não tem problemas veja este link .. > http://timheuer.com/blog/archive/2007/02/28/14002.aspx
    no entanto eu não recomendo, por posteriormente vc ter que dar manutenção no código.

    Se tiver com algum problema, poste aqui, sow peço para postar em outro thread para fecharmos este problema do e-mail.

    Abraço,
    Nelson Borges - Analista de Sistemas
    Nelson, tive o mesmo problema e resolvi desligando o antivirus Avast.
    segunda-feira, 19 de julho de 2010 13:51