public class Pop3Receive public Shared Sub Main Application.Run(New Form1) End Sub End classn'a rien à faire dans ta form.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question' Quote from Book ' Visual Basic.net Programming ' Publisher Water Publisher ' China, Beijing Imports System Imports System.Net.Sockets Imports System.Net.Security Imports System.Security.Cryptography.X509Certificates Imports System.Text Imports System.IO Imports System.Windows.Forms.WebBrowser Imports System.Net Imports System.Threading Imports System.Windows.Forms Public Class Form1 : Inherits System.Windows.Forms.Form Dim Server As TcpClient Dim NetStrm As System.Net.Security.SslStream Dim RdStrm As StreamReader Public Sub New() MyBase.New() InitializeComponent() End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub Friend WithEvents btnMailReceive As System.Windows.Forms.Button Friend WithEvents lstMailList As System.Windows.Forms.ListBox Friend WithEvents btnDelete As System.Windows.Forms.Button Friend WithEvents btnQUIT As System.Windows.Forms.Button <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.lstMailList = New System.Windows.Forms.ListBox Me.btnMailReceive = New System.Windows.Forms.Button Me.btnDelete = New System.Windows.Forms.Button Me.btnQUIT = New System.Windows.Forms.Button Me.txtMailContent = New System.Windows.Forms.TextBox Me.SuspendLayout() ' 'lstMailList ' Me.lstMailList.Location = New System.Drawing.Point(17, 45) Me.lstMailList.Name = "lstMailList" Me.lstMailList.Size = New System.Drawing.Size(555, 95) Me.lstMailList.TabIndex = 8 ' 'btnMailReceive ' Me.btnMailReceive.Location = New System.Drawing.Point(591, 8) Me.btnMailReceive.Name = "btnMailReceive" Me.btnMailReceive.Size = New System.Drawing.Size(136, 22) Me.btnMailReceive.TabIndex = 6 Me.btnMailReceive.Text = "Check Mail" ' 'btnDelete ' Me.btnDelete.Location = New System.Drawing.Point(410, 7) Me.btnDelete.Name = "btnDelete" Me.btnDelete.Size = New System.Drawing.Size(162, 23) Me.btnDelete.TabIndex = 7 Me.btnDelete.Text = "Delete" ' 'btnQUIT ' Me.btnQUIT.Location = New System.Drawing.Point(750, 7) Me.btnQUIT.Name = "btnQUIT" Me.btnQUIT.Size = New System.Drawing.Size(137, 22) Me.btnQUIT.TabIndex = 6 Me.btnQUIT.Text = "Quit" ' 'txtMailContent ' Me.txtMailContent.Location = New System.Drawing.Point(17, 163) Me.txtMailContent.Multiline = True Me.txtMailContent.Name = "txtMailContent" Me.txtMailContent.ScrollBars = System.Windows.Forms.ScrollBars.Both Me.txtMailContent.Size = New System.Drawing.Size(555, 320) Me.txtMailContent.TabIndex = 9 ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(911, 533) Me.Controls.Add(Me.btnQUIT) Me.Controls.Add(Me.btnDelete) Me.Controls.Add(Me.btnMailReceive) Me.Controls.Add(Me.txtMailContent) Me.Controls.Add(Me.lstMailList) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) Me.PerformLayout() End Sub Private Shared Function CertificateValidationCallback(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal sslPolicyErrors__1 As SslPolicyErrors) As Boolean If sslPolicyErrors__1 <> SslPolicyErrors.None Then MessageBox.Show("SSL Certificate Validation Error!") Debug.Print(sslPolicyErrors__1.ToString()) Return False Else Return True End If End Function Public Function connect() As Integer Dim POP3Account As String POP3Account = "pop3.live.com" If POP3Account.Trim = "" Then Exit Function Try Dim certName As String = "pop3.live.com" Server = New TcpClient() Server.Connect(POP3Account.Trim, 995) NetStrm = New SslStream(Server.GetStream(), False, New RemoteCertificateValidationCallback(AddressOf CertificateValidationCallback)) NetStrm.AuthenticateAsClient(certName) RdStrm = New StreamReader(NetStrm) Catch exc As Exception MsgBox(exc.Message) Exit Function End Try Dim user As String user = "sts2012@hotmail.fr" Dim data As String = "USER " + user.Trim + vbCrLf Dim szData() As Byte = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()) NetStrm.Write(szData, 0, szData.Length) Dim POPResponse As String POPResponse = RdStrm.ReadLine If POPResponse.Contains("-ERR") Then MsgBox("Invalid user Name") Return -1 End If Dim password As String password = "sts123" data = "PASS " & password & vbCrLf szData = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()) NetStrm.Write(szData, 0, szData.Length) POPResponse = RdStrm.ReadLine If POPResponse.Contains("-ERR") Then MsgBox("Invalid Password") Return (-1) End If data = "STAT" + vbCrLf szData = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()) NetStrm.Write(szData, 0, szData.Length) POPResponse = RdStrm.ReadLine If POPResponse.Substring(0, 4) = "-ERR" Then MsgBox("could not log your in") Return -1 End If data = "Stat" + vbCrLf szData = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()) NetStrm.Write(szData, 0, szData.Length) POPResponse = RdStrm.ReadLine If POPResponse.Contains("-ERR") Then MsgBox("could not log your in") Return -1 End If Dim parts() As String parts = POPResponse.Split(" ") Dim messages, totsize As Integer 'messages = parts(3) messages = CInt(parts(1)) Return messages End Function Public Function DeleteMessage(ByVal msgIndex As Integer) Dim data As String = "DELE " & msgIndex.ToString & vbCrLf Dim SzData() As Byte = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()) NetStrm.Write(SzData, 0, SzData.Length) Dim tmpString As String = RdStrm.ReadLine() If tmpString.Substring(0, 4) = "-ERR" Then MsgBox("Could Not Delete Message") Return (-1) Else Return 11 End If End Function Public Function Quit() Dim data As String = "Quit " & vbCrLf Dim szData() As Byte = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()) NetStrm.Write(szData, 0, szData.Length) Dim tmpString As String = RdStrm.ReadLine() End Function Public Structure Message Dim _From As String Dim _To As String Dim _Date As String Dim _Subject As String Dim _CC As String Dim _BCC As String Dim _Body As String Dim _Received As String End Structure Public Function CreateFromText(ByVal strMessage As String) As Message Dim Mssg As New Message Dim brkPos As Integer Dim Header As String Dim Headers() As String Dim Body As String Dim vField As Object Dim strHeader As String Dim HeaderName As String Dim HeaderValue As String brkPos = InStr(1, strMessage, vbCrLf & vbCrLf) If brkPos Then Header = strMessage.Substring(0, brkPos - 1) Body = strMessage.Substring(brkPos + 1, _ strMessage.Length - Header.Length - 3) Mssg._Body = Body Else Throw New Exception("Invalid Message Format") Exit Function End If Headers = Split(Header, vbCrLf) Dim _header As String For Each _header In Headers brkPos = _header.IndexOf(":") If brkPos >= 0 Then HeaderName = _header.Substring(0, brkPos) Else HeaderName = "" End If HeaderValue = _header.Substring(brkPos + 1) Select Case HeaderName.ToLower Case "received" Mssg._Received = HeaderValue Case "from" Mssg._From = HeaderValue Case "to" Mssg._To = HeaderValue Case "cc" Mssg._CC = HeaderValue Case "bcc" Mssg._BCC = HeaderValue Case "subject" Mssg._Subject = HeaderValue Case "date" Mssg._Date = HeaderValue End Select Next Return Mssg End Function Function GetMessage(ByVal msgindex As Integer) As String Dim tmpString As String Dim Data As String Dim SzData() As Byte Dim msg As String Try Data = "RETR " & msgindex.ToString & vbCrLf SzData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray()) NetStrm.Write(SzData, 0, SzData.Length) tmpString = RdStrm.ReadLine() If tmpString.Substring(0, 4) <> "-ERR" Then While (tmpString <> ".") msg = msg & tmpString & vbCrLf tmpString = RdStrm.ReadLine End While End If Catch exc As InvalidOperationException MsgBox("Message Retrival Failed: " & vbCrLf & Err.ToString()) End Try Return msg End Function Private Sub btnMailReceive_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMailReceive.Click Dim i As Integer Dim msg As Form1.Message Dim msgstring As String Dim messages1 As Integer Me.Cursor = Cursors.WaitCursor messages1 = connect() If messages1 = -1 Then Me.Cursor = Cursors.Default Exit Sub End If Dim originalCaption As String = Me.Text For i = 1 To messages1 Me.Text = "Downloading Message " & i.ToString & "/" & _ messages1.ToString Dim msgitem As New ListViewItem msgstring = GetMessage(i) msg = CreateFromText(msgstring) msgitem.Text = msg._From msgitem.SubItems.Add(msg._Subject) msgitem.SubItems.Add(msg._Date) lstMailList.Items.Add(msgitem) RichTextBox1.AppendText(msg._Body & vbCrLf) Next Me.Text = originalCaption Me.Cursor = Cursors.Default End Sub Private Sub lstMailList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim messages As Integer 'Dim objPOP3 As POP3Message RichTextBox1.Text = GetMessage(lstMailList.SelectedIndices(0) + 1) End Sub Private Sub lstMailList_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles lstMailList.KeyUp If e.KeyCode = Keys.Delete Then If DeleteMessage(lstMailList.SelectedIndices(0) + 1) >= 0 Then lstMailList.Items(lstMailList.SelectedIndices(0)).Text = "DELETED" lstMailList.Items(lstMailList.SelectedIndices(0)).SubItems.Clear() MsgBox("Your Email Message is Deleted", MsgBoxStyle.Information, "Delete Message") End If End If End Sub Private Sub btnQUIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQUIT.Click Call Quit() lstMailList.Items.Clear() End Sub Private Sub lstMailList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstMailList.SelectedIndexChanged End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub txtMailContent_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMailContent.TextChanged End Sub Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click End Sub End Class