Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

VB.NET UWP/WinRT Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Azure Cloud Storage
Azure Service Bus
Base64
Bounced Email
Box
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
Dynamics CRM
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GMail REST API
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Google Sheets
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)
Java KeyStore (JKS)

Jira
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
REST Misc
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
SugarCRM
Tar Archive
Twitter
Upload
VoiceBase
Walmart
WebSocket
XAdES
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(VB.NET UWP/WinRT) POP3 over Multiple Hop SSH

Demonstrates how to read POP3 email (using TCP or TLS) tunneled through mulitple-hop SSH. The scheme looks like this:

Application => ServerSSH1 => ServerSSH2 => POP3Server

The ConnectThroughSsh and UseSsh methods are added in Chilkat version 9.5.0.55 to accomplish this task.

Chilkat Universal Windows Platform (UWP) / WinRT Downloads

Chilkat for the Universal Windows Platform (UWP)

'  Important: It is helpful to send the contents of the
'  ssh.LastErrorText property when requesting support.

Dim ssh1 As New Chilkat.Ssh

'  Any string automatically begins a fully-functional 30-day trial.
Dim success As Boolean = ssh1.UnlockComponent("Anything for 30-day trial")
If (success <> True) Then
    Debug.WriteLine(ssh1.LastErrorText)
    Exit Sub
End If


'  Connect directly to the 1st SSH server.
success = Await ssh1.ConnectAsync("serverssh1.com",22)
If (success <> True) Then
    Debug.WriteLine(ssh1.LastErrorText)
    Exit Sub
End If


'  Authenticate using login/password:
success = Await ssh1.AuthenticatePwAsync("ssh1Login","ssh1Password")
If (success <> True) Then
    Debug.WriteLine(ssh1.LastErrorText)
    Exit Sub
End If



'  Connect through the 1st SSH connection to reach a 2nd SSH server.
'  Note: Any number of SSH connections may be simultaneously tunneled through a single
'  existing SSH connection.
Dim ssh2 As New Chilkat.Ssh
success = Await ssh2.ConnectThroughSshAsync(ssh1,"serverssh2.com",22)
If (success <> True) Then
    Debug.WriteLine(ssh2.LastErrorText)
    Exit Sub
End If



'  Authenticate with ssh2...
success = Await ssh2.AuthenticatePwAsync("ssh2Login","ssh2Password")
If (success <> True) Then
    Debug.WriteLine(ssh2.LastErrorText)
    Exit Sub
End If




Dim mailman As New Chilkat.MailMan

'  Any string argument automatically begins the 30-day trial.
success = mailman.UnlockComponent("30-day trial")
If (success <> True) Then
    Debug.WriteLine(mailman.LastErrorText)
    Exit Sub
End If


'  Tell the mailman object to connect to the POP3 server though the ssh2 tunnel (which itself is routed through ssh1).
'  The connection looks like this:  Application => ServerSSH1 => ServerSSH2 => POP3Server
success = mailman.UseSsh(ssh2)
If (success <> True) Then
    Debug.WriteLine(mailman.LastErrorText)
    Exit Sub
End If


'  Set the POP3 server's hostname
mailman.MailHost = "pop.someMailServer.com"

'  Set the POP3 login/password.
mailman.PopUsername = "myLogin"
mailman.PopPassword = "myPassword"

'  Establish the POP3 connection through the ssh2 tunnel.
success = Await mailman.Pop3BeginSessionAsync()
If (success <> True) Then
    Debug.WriteLine(mailman.LastErrorText)
    Exit Sub
End If


'  Get the number of messages in the mailbox.
Dim numMessages As Integer = Await mailman.GetMailboxCountAsync()


Dim i As Integer
If (numMessages > 0) Then

    Dim email As Chilkat.Email
    For i = 1 To numMessages

        email = Await mailman.FetchByMsgnumAsync(i)
        If (email Is Nothing ) Then
            Debug.WriteLine(mailman.LastErrorText)
            Exit Sub
        Else
            Debug.WriteLine(email.From & ": " & email.Subject & vbLf)

        End If

    Next

End If


'  Close the connection with the POP3 server.  (This closes the tunnel through ssh2)
'  The connection with ssh2 is still alive, and may be used for more connections.
success = Await mailman.Pop3EndSessionAsync()


'  Close the connection with ssh2.  (This closes the the tunnel through ssh1.)
'  The connection with ssh1 is still alive, and may be used for more connections.
ssh2.Disconnect()


ssh1.Disconnect()

 

© 2000-2016 Chilkat Software, Inc. All Rights Reserved.