none
vb.net envio de e-mail. RRS feed

  • Pergunta

  • estou ultilizando a linguagem vb.net para o envio de e-mail e estou querendo fazer isso ultilizando o yahoo.com alguem pode fornecer algum código para eu efetuar isso?

    pois esta dando problema no meu que é este erro (O nome remoto não pôde ser resolvido: 'romy_moura@yahoo.com.br' )

    Obrigado.
    quinta-feira, 7 de maio de 2009 19:31

Todas as Respostas

  • Olá, Romy.

    Veja se te ajuda -> http://www2.devmedia.com.br/articles/viewcomp.asp?comp=12520


    Abraço,
    Nelson Borges - Analista de Sistemas
    • Sugerido como Resposta Nelson Borges domingo, 10 de maio de 2009 17:45
    domingo, 10 de maio de 2009 17:45
  • Cara eu tentei fazer com o yahoo.com e esta dando limite da operação esgotado, então criei uma conta no gmail não da o msm erro a aplicação dispara este

    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. 8sm2762439qwj.11

    o que seria isto?
    segunda-feira, 11 de maio de 2009 15:52
  • Romy,

    1-) No caso do Yahoo, verifique a porta utilizada e se o yahoo usa SSL.
    2-) Para o Gmail, vc precisa habilitar o SSL, conforme escrito no artigo.

    client.EnableSsl = true;
    client.Port = 587; ou client.Port = 482; pois as duas portas são de envio do provedor Gmail.


    Abraço,


    Nelson Borges - Analista de Sistemas
    • Sugerido como Resposta Nelson Borges segunda-feira, 11 de maio de 2009 16:17
    segunda-feira, 11 de maio de 2009 16:17
  •  

    'método que envia o e-mail.

     

    Private Sub Envia_Email_agora(ByVal De_Pessoa As String, ByVal Para_Pessoa As String, ByVal assunto As String, ByVal corpo As String)

     

    Try

     

    If Me.Page.IsValid Then

    EnviarEmail =

    New MailMessage()

    EnviarEmail.To.Add(Para_Pessoa)

     

     

    'define o endereço
    EnviarEmail.From = New MailAddress(De_Pessoa, "teste", System.Text.Encoding.UTF8)

     

     

    'declara um array de string
    Dim array_anexos(0) As String

     

    'popula o array com todos caminho de anexos criado pelo txtupload que esta armazenado no ViewState.Item(viewstate_anexos).
    array_anexos = ViewState.Item(viewstate_anexos)

     

    'declara um contador para varrer o array.

     

    Dim cont As Integer

     

    'faz o loop por todas posições do array.

     

    For cont = 0 To array_anexos.Length - 1

     

    'adiciona + 1 anexo para o obj EnviarEmail de acordo com o caminho da posição do array.

    EnviarEmail.Attachments.Add(

    New Attachment(array_anexos(cont)))

     

    Next

     

     

    'Monta e adiciona o assunto do e-mail.

    EnviarEmail.Subject = assunto &

    " para o gerente: " & ddlGerentes.SelectedItem.Text

     

    'O tipo de codigo que poderar ser transferido.

    EnviarEmail.SubjectEncoding = System.Text.Encoding.UTF8

     

    'Adiciona o corpo do e-mail.

    EnviarEmail.Body = corpo

     

    'O tipo de codigo que poderar ser transferido.

    EnviarEmail.BodyEncoding = System.Text.Encoding.UTF8

     

     

    'define o formato do corpo do e-mail como html.

    EnviarEmail.IsBodyHtml =

    True

     

     

    EnviarEmail.Priority = MailPriority.High

     

    Dim smtp As New SmtpClient() '("romy_moura@yahoo.com.br") 'SmtpClient("150.150.150.18")

    smtp.Credentials =

    New System.Net.NetworkCredential(De_Pessoa, "******")

    smtp.Port = 482

     

    smtp.EnableSsl = True

     


    smtp.Host =

     


    smtp.Host =


    smtp.Host =

    "smtp.gmail.com"

    smtp.Send(EnviarEmail)  

     

    'cria um objeto de anexo

     

    Dim anexos As Attachment

     

    'para cada anexo do obj enviaremail até que todos sejam fechados com o dispose.

     

    For Each anexos In EnviarEmail.Attachments

    anexos.Dispose()

     

    Next

     

    'deixa o envio do e-mail como nothing.

    smtp =

    Nothing

     

    'atribui nothing para o viewstate que armazena os diretórios dos anexos como nothing.

    ViewState.Item(viewstate_anexos) =

    Nothing

     

    End If

     

    Catch SmtpException As Exception

     

    Throw

     

    End Try

     

    End Sub



    A cima segue o código que utilizo e abaixo segue o erro que e gerado.

    Uma tentativa de conexão falhou porque o componente conectado não respondeu
    corretamente após um período de tempo ou a conexão estabelecida falhou
    porque o host conectado não respondeu 74.125.93.109:482

    Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

    Detalhes da Exceção: System.Net.Sockets.SocketException: Uma tentativa de conexão falhou porque o componente conectado não respondeu
    corretamente após um período de tempo ou a conexão estabelecida falhou
    porque o host conectado não respondeu 74.125.93.109:482

    segunda-feira, 11 de maio de 2009 16:53
  • Romy,
    Verifique os seguintes itens :

    1-) Se possui firewall na rede, veja se o mesmo esta bloqueando;
    2-) Veja o firewall da máquina (Windows Firewall).
    3-) Gmail, antigamente utilizava a porta 482 depois mudaram para 587, atualmente eu sow utilizo a 587, faça o teste.


    Se nao der certo poste aqui novamente.

    Abraço,

    Nelson Borges
    sábado, 16 de maio de 2009 21:20
  • O nelsão consegui cara fazer a minha aplicação, desativando o farewall, mas para que exatamente serve o farewall e é arriscado deixar ele desativado?


    Obrigado pela força abraço!
    segunda-feira, 18 de maio de 2009 04:42