TESTE DE CONEXAO COM A INTERNET ?!?!?!?

AMOVB 24/06/2013 20:23:11
#425165
Ae galera ! Beleza? Estou criando um programa para minha empresa na Aula de Organização Empresarial e Contabilidade que envia pedidos ao e-mail da empresa. A conexão com o e-mail está funcionando completamente !

Agora gostaria de saber se tem como o programa checar a internet e não aplicar a função de enviar o e-mail.

Uma parte do meu código é essa:

Citação:

Imports System.Net.Mail
Public Class Form1
Dim message As New MailMessage
Dim smtp As New SmtpClient
Dim nome As String
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ProgressBar1.Value = ProgressBar1.Value + 61
message.From = New MailAddress([Ô]e-mail@e-mail.com[Ô], [Ô]Programador da empresa[Ô])
message.To.Add([Ô]waffet-shirts@hotmail.com[Ô])
message.Body = [Ô]Nome do cliente:[Ô] & TextBox1.Text & [Ô]|[Ô] & [Ô]Endereço:[Ô] & TextBox2.Text & [Ô]|[Ô] & [Ô]CEP:[Ô] & TextBox3.Text & [Ô]|[Ô] & [Ô]Telefone:[Ô] & [Ô]|[Ô] & TextBox4.Text & [Ô]|[Ô] & [Ô]E-mail:[Ô] & TextBox5.Text & [Ô]|[Ô] & [Ô]Descrição do pedido: [Ô] & TextBox4.Text
message.Subject = [Ô]Pedido do cliente[Ô]
message.Priority = MailPriority.Normal

[ô]Configs SMTP[ô]

smtp.EnableSsl = True
smtp.Port = [Ô]587[Ô]
smtp.Host = [Ô]smtp.live.com[Ô]
smtp.Credentials = New Net.NetworkCredential([Ô]e-mail@e-mail.com, [Ô]0000000[Ô])
smtp.Send(message)
ProgressBar1.Value = ProgressBar1.Value + 39
nome = TextBox1.Text
MessageBox.Show([Ô]Parabéns [Ô] + nome + [Ô] seu pedido foi enviado.[Ô])
Dim Response As Integer

[ô] Displays a message box with the yes and no options.
Response = MsgBox(Prompt:=[Ô]Deseja fazer outro pedido?[Ô], Buttons:=vbYesNo)

[ô] If statement to check if the yes button was selected.
If Response = vbYes Then
Application.Restart()
Else
[ô] The no button was selected.
Close()
End If



Então.. gostaria de saber se tem como o programa verificar se a maquina está conectada à internet e aplicar uma mensagem de erro ao invés de tentar enviar o e-mail. Tem como?

Muito obrigado! Não sei muito sobre VB.net mas quero muito aprender ! (:

Valeeeu galera! Meu primeiro tópico aqui!
NAUTILUZ 24/06/2013 22:27:28
#425169
Algum tempo fiz um aplicativo que ficava atualizando o timer numa tabela num server php free
Depois fiz outro para monitorar a atividade do timer + numero do cliente para saber se estava On
e o componente que utilizei foi o WebBrowser que deve ser ativado no VB..
E o caminho das pedras mas foi o jeito que escontrei..
Desculpem a falta de acentos pois não me incomodo com isso..
KURTGU 25/06/2013 00:47:38
#425171
Pra quem nao quiser ficar esperando resposta, use o google coloque a duvida em ingles e achara a resposta...

Aqui para o criador do topico...
ALEVALE 25/06/2013 08:17:22
#425175
Aff....de boa.......

Bom vamos lá, você conhece o famoso comando [Ô]ping[Ô] ? ? ? ?

Faça isso:
Imports System.net
Imports System.net.NetworkInformation

Dim Ping As Ping = New Ping()
Dim PingReply As PingReply = Ping.Send([Ô]SEU DOMINIO DE E-MAIL OU SERVIDOR[Ô])

If PingReply.Status <> IPStatus.Success Then
msgbox([Ô]NÃO POSSO ENVIAR O E-MAIL[Ô])
else
msgbox([Ô]VOU ENVIAR O E-MAIL[Ô])
End If

Outra sugestão você consegue tratar o erro de envio de e-mail pelo try catch, pegando a [Ô]excessão[Ô] do envio que tem a opção de servidor indisponível.
OCELOT 25/06/2013 11:33:21
#425182
Ping dependendo do caso pode ser bloqueado, o ideal mesmo diria que é tentar enviar o email e tratar o erro caso não consiga enviar, assim você trata o caso não só da internet não estar funcionando mas também do servidor smtp não estar funcionando.
Faça seu login para responder