+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

Connessione protocollo SSL

  1. #1
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Tempo f avevo sviluppato un client per posta elettronica ed andava tutto bene,scaricavo i messaggi,li leggevo etc.etc con provider che non usava il protocollo SSL,ora invece ho bisogno di usare questo protocollo in quanto gmail lo usa ma sinceramente non saprei dove mettere le mani.
    Questo il codice che usavo e che funzionava bene.
    Con questa funzione mi connetto....
     Public Function connect(ByVal pop3Server As String, ByVal userAccount As String, ByVal PasswordAccount As String) As Integer
            Dim POP3Account As String = pop3Server ' pop3server=pop.gmail.com
            Try
                Server = New TcpClient(POP3Account.Trim, 993)
                NetStrm = Server.GetStream
                RdStrm = New StreamReader(Server.GetStream, System.Text.Encoding.GetEncoding(1252)) 
            Catch ex As Exception
                Messagebox.show(ex.Message)
                Exit Function
            End Try
            Dim data As String = "USER " + userAccount & vbCrLf
            Dim szData() As Byte = System.Text.Encoding.GetEncoding(1252).GetBytes(data.ToCharArray())
            NetStrm.Write(szData, 0, szData.Length)
            Dim POPResponse As String
            POPResponse = RdStrm.ReadLine
            If POPResponse.Substring(0, 4) = "-ERR" Then
                Messagebox.show("User name non valido.")
                Return -1
            End If
            data = "PASS " & PasswordAccount & vbCrLf
            szData = System.Text.Encoding.GetEncoding(1252).GetBytes(data.ToCharArray())
            NetStrm.Write(szData, 0, szData.Length)
            POPResponse = RdStrm.ReadLine
            If POPResponse.Substring(0, 4) = "-ERR" Then
                Messagebox.show("Password non Valida")
                Return (-1)
            End If
            data = "STAT" & vbCrLf
            szData = System.Text.Encoding.GetEncoding(1252).GetBytes(data.ToCharArray())
            NetStrm.Write(szData, 0, szData.Length)
            POPResponse = RdStrm.ReadLine
            If POPResponse.Substring(0, 4) = "-ERR" Then
                Messagebox.show("Impossibile loggarsi,Controllare la password e nome account.")
                Return -1
            End If
            Dim parts() As String
            parts = POPResponse.Split(" ")
            Dim messages As Integer
            messages = CInt(parts(1))
            Return messages
        End Function
    
    la domanda :come abilito SSL e inviarlo al server?
    Non ho la pi pallida idea di come fare,ho cercato in rete e ho trovato poco e sopratutto con software di terze parti.
    ℹ️ Leggi di pi su sistemista ...

  2. #2
    Invece del NetworkStream devi utilizzare SslStream
    ℹ️ Leggi di pi su Fix ...

  3. #3
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Quote Originariamente inviato da Fix Visualizza il messaggio
    Invece del NetworkStream devi utilizzare SslStream
    Ciao fix,ho letto il link che hai postato,mi sembra di capire che il client che spedisce il messaggio mentre ho bisogno di scaricare i messaggi sul pc e gmail richiede ssl e non saprei dove mettere le mani.
    ℹ️ Leggi di pi su sistemista ...

  4. #4
    L'avatar di SirJo
    SirJo non  in linea Scolaretto
    L'esempio che hai visto generico, poi devi tu adattarlo al protocollo che ti serve, ma penso che SslStream sia la risposta che stai cercando

  5. #5
    SslStream la classe per gestire il flusso di rete con il protocollo SSL.

    Nel tuo vecchio codice fai uso di NetworkStream, per scrivere e leggere le informazioni trasmesse verso/da il server di Google sulla porta 993.

    Il NetworkStream che utilizzi lo ricevi dal metodo GetStream del TCPClient.

    Nel link che ti ho postato c' l'esempio di come utilizzare il flusso SslStream per gestire lo Stream del TCPClient.

    Una volta connesso al server (verifica su quale porta, potrebbe essere differente dalla 993) con
    Server = New TcpClient(POP3Account.Trim, XXX)
    
    dovrai creare il flusso SSL con la Classe indicata, ad esempio tramite
    Dim StreamSSL As New SslStream (Server.GetStream())
    
    A questo punto dovresti autenticare la comunicazione con
    StreamSSL.AuthenticateAsClient(POP3Account.Trim)
    
    Ed in seguito potrai utilizzare StreamSSL per scrivere (.write) o leggere (.read) il flusso dei dati verso il server.

    Ovviamente dovrai verificare se le informazioni che trasmetti e ricevi con il vecchio protocollo, sono ancora valide per il dialogo con il nuovo (USER / PASS / STAT / ETC..).
    ℹ️ Leggi di pi su Fix ...

  6. #6
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    ok.ho capito.
    grazie.
    ℹ️ Leggi di pi su sistemista ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Protocollo ed ACCESS
    Da ophiuco nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 30-10-2010, 22:38
  2. Protocollo PPP
    Da gajpaj nel forum Networking e sicurezza
    Risposte: 5
    Ultimo Post: 16-08-2008, 17:13
  3. Protocollo DMX
    Da luciano.net nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 15-02-2008, 11:10
  4. Protocollo MSN
    Da Windows M nel forum Altri linguaggi e strumenti
    Risposte: 0
    Ultimo Post: 21-10-2007, 20:53
  5. Gestione protocollo in db
    Da bud77 nel forum Microsoft Word
    Risposte: 1
    Ultimo Post: 22-01-2007, 21:29