Inquiridor
vb.net envio de e-mail.

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.
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
-
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? -
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
-
'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:482Descriçã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 -
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 -