O'Reilly logo

CDO & MAPI Programming with Visual Basic: by Dave Grundgeiger

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Retrieving Email

To retrieve email from a server, the email client establishes a connection to the server on port 110 and then sends appropriate POP3 commands. Example A-3 shows how this is done, using the helper procedures introduced in Example A-1. This sample code logs onto a POP3 server and inquires whether any email is waiting. If there is, additional commands are sent to retrieve the first email, which is then displayed in a text box.

Example A-3. Retrieving an Email

Private Sub RetrieveAnEmail( )

   Dim strResponse As String
   Dim nMsgCount As Long
   Dim nStart As Long
   Dim nLength As Long

   ' Connect to the email server.
   ConnectAndWait "mail.execpc.com", 110
   
   ' Log in.
   SendAndWait "USER dg"
   SendAndWait "PASS MyPassword"
   
   ' Find out how many emails there are.
   strResponse = SendAndWait("STAT")
   nStart = InStr(strResponse, " ") + 1
   nLength = InStr(nStart, strResponse, " ") - nStart
   nMsgCount = CLng(Mid(strResponse, nStart, nLength))
   
   ' If there are any emails at all, retrieve the first one.
   If nMsgCount > 0 Then
      SendAndWait "RETR 1"
      txtMsg.Text = SendAndWait("NOOP")
   Else
      txtMsg.Text = "(There are no messages on the server.)"
   End If
   
   ' Close the connection.
   CloseConnection

End Sub ' RetrieveAnEmail

The debug output generated by this example is shown in Example A-4.

Example A-4. A Sample POP3 Conversation

Client: (Initiates connection on port 110) Server: +OK POPROX (version 1.0) at pop05.execpc.com starting. Client: USER dg Server: +OK Password required for dg. Client: PASS MyPassword Server: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required