AxEmail.Pop3
Introduction
Skip to properties and methods
The Pop3 object can be used to connect to a POP3 server and receive email messages.
Receive emails through POP3
Receive email messages through the POP3 protocol
Set objPop3 = CreateObject("AxEmail.Pop3") ' Create the POP3 protocol object
Set objMail = CreateObject("AxEmail.Message") ' Create the email message object
Wscript.Echo "Auron Email Component Version" & objPop3.Version & "; Build" & _
objPop3.Build & "; Module" & objPop3.Module
WScript.Echo "License Status:" & objPop3.LicenseStatus & vbCrLf
objPop3.LogFile = "log.txt" ' Keep a session log
' Open a connection to the POP3 server
objPop3.SetSecure
objPop3.Connect "pop.gmail.com", "me@gmail.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
' Retrieve all new messages
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailMessage(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
WScript.Echo objMail.BodyPlainText
For j = 1 to objMail.CountAttachments()
strName = objMail.GetAttachmentName(j)
WScript.Echo " Attachment found:" & strName
' Uncomment the following lines to save the attachments.
'strPath = "C:\Temp\" & strName
'WScript.Echo " Saving attachment to :" & strPath
'objMail.SaveAttachment j, strPath
Next
Next
objPop3.Disconnect
WScript.Echo "Disconnected"
How to run this example
Properties and Methods
Property | Type | Read/Write | Description |
Version | String | Read | Version number of the Auron Email Component |
Build | String | Read | Build number of the Auron Email Component |
Module | String | Read | Module name of the Auron Email Component |
LicenseStatus | String | Read | License Status |
LicenseKey | String | Read/Write | License Key |
LastError | Number | Read | Result of the last called method |
LogFile | String | Read/Write | The path to a logfile which can be used for troubleshooting |
HostPort | Number | Read/Write | The host port for the POP3 server |
Authentication | Number | Read/Write | The authentication method |
BearerToken | String | Read/Write | OAuth2 bearer token |
LastPop3Response | String | Read/Write | The host port for the POP3 server |
TimeoutConnect | Number | Read/Write | Timeout (msecs) for a connection to be established |
TimeoutAuthentication | Number | Read/Write | Timeout (msecs) to authenticate |
TimeoutCommand | Number | Read/Write | Timeout (msecs) for each POP3 command to complete |
TimeoutData | Number | Read/Write | Timeout (msecs) for the POP3 RETR command to complete |
Method | Description |
Clear | Reset all properties to their default values |
SaveLicenseKey | Save the License Key in the registry |
GetErrorDescription | Get the description of the given error |
Sleep | Sleep for the specified number of milliseconds |
SetSecure | Enable TLS/SSL and set the correct port number |
Connect | Connect to the specified POP3 server |
Disconnect | Disconnect from the POP3 server |
IsConnected | Returns the connected state |
CountMessages | Count the number of messages in the mail-drop |
DeleteMessage | Delete a message from the mail-drop |
GetEmailHeader | Retrieve the email header |
GetEmailMessage | Retrieve the email message |
Version property
Return the version number of the Auron Email Component
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Wscript.Echo "Auron Email Component Version" & objPop3.Version & "; Build" & _
objPop3.Build & "; Module" & objPop3.Module
WScript.Echo "License Status:" & objPop3.LicenseStatus & vbCrLf
...
Build property
Return the build number of the Auron Email Component.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Wscript.Echo "Auron Email Component Version" & objPop3.Version & "; Build" & _
objPop3.Build & "; Module" & objPop3.Module
WScript.Echo "License Status:" & objPop3.LicenseStatus & vbCrLf
...
Module property
Return the module name of the Auron Email Component.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Wscript.Echo "Auron Email Component Version" & objPop3.Version & "; Build" & _
objPop3.Build & "; Module" & objPop3.Module
WScript.Echo "License Status:" & objPop3.LicenseStatus & vbCrLf
...
LicenseStatus property
The status of your license. In case you have not licensed the product, the property holds the trial expiration date. For details, see Product Activation.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3") ' Create new instance
WScript.Echo "License Status:" & objPop3.LicenseStatus
WScript.Echo "License Key:" & objPop3.LicenseKey
LicenseKey property
A license key is required to unlock this component after the trial period has expired. Assign the LicenseKey property every time a new instance of this component is created (see code below). Alternatively, the LicenseKey property can be set automatically. This requires the license key to be stored in the registry. For details, see Product Activation.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3") ' Create new instance
objPop3.LicenseKey = "XXXXX-XXXXX-XXXXX" ' Assign your license key
WScript.Echo "LicenseKey:" & objPop3.LicenseKey
LastError property
Completion code of the last called function. To find the error description of a given error code, go to the online error codes page.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
objPop3.Connect "pop.example.com", "me@example.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
LogFile property
By default, LogFile holds an empty string and nothing is logged. If a valid file name is assigned to it, the Auron Email Component will write debug information to this file. Output data is written at the end of the file, the file is not cleared.
By default the log file uses the UTF16LE character encoding. To use UTF8 please prefix the log file name with the text: ‘UTF8:’ (e.g.: ‘UTF8:logfile.txt’).
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
objPop3.LogFile = "C:\Temp\Pop3.log"
objPop3.Connect "pop.example.com", "me@example.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
HostPort property
Set the host port to connect to. By default this is 110.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
objPop3.HostPort = 8110
objPop3.Connect "pop.example.com", "me@example.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
Authentication property
Set the authentication method to use on the POP3 server. By default it will autodetect the preferred method.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
objPop3.Authentication = POP3_AUTH_PLAIN
objPop3.Connect "pop.example.com", "me@example.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
BearerToken property
Set the bearer token to use OAuth2 authentication. If the bearer token is set then the user password can be left blank.
Obtain the bearer token by using the OAuth2 object.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
objPop3.SetSecure
objPop3.Authentication = POP3_AUTH_OAUTH2
objPop3.BearerToken = "12345678901234567890"
objPop3.Connect "pop.example.com", "me@example.com"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
LastPop3Response property
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
objPop3.Connect "pop.example.com", "me@example.com", "password"
WScript.Echo "Server reponse:" & objPop3.LastPop3Response
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
TimeoutConnect property
Timeout (in milliseconds) for a connection to be established.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
objPop3.TimeoutConnect = 10000
objPop3.Connect "pop.example.com", "me@example.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
TimeoutAuthentication property
Timeout (in milliseconds) to authenticate to the POP3 mail server.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
objPop3.TimeoutAuthentication = 10000
objPop3.Connect "pop.example.com", "me@example.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
TimeoutCommand property
Timeout (in milliseconds) for each POP3 command to complete. This applies to all POP3 commands (e.g.: APOP, CAPA, QUIT) except the RETR command.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
objPop3.TimeoutCommand = 10000
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailMessage(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
WScript.Echo objMail.BodyPlainText
Next
...
TimeoutData property
Timeout (msecs) for the POP3 RETR command to complete.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
objPop3.TimeoutData = 120000
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailMessage(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
WScript.Echo objMail.BodyPlainText
Next
...
Clear method
This function resets all properties to their default values.
Parameters:
- None
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
....
objPop3.Clear
...
SaveLicenseKey method
Description:
Use SaveLicenseKey to store the license key permanently in the registry. When a license key is saved, it is restored automatically every time a new instance of the object is created. It is not recommended to save the license key if you distribute the component with your own software, because the key can be easily used by others.
Parameters:
- None.
Return value:
Always 0. Check LastError property to see if the method was completed successfully.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3") ' Create new instance
objPop3.LicenseKey = "XXXXX-XXXXX-XXXXX"
objPop3.SaveLicenseKey ' Save license key to registry
For more information, see Product Activation.
GetErrorDescription method
GetErrorDescription provides the error description of a given error code.
Parameters:
- The error code
Return value:
The error string.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
...
WScript.Echo "result:" & objPop3.LastError & "," & _
objPop3.GetErrorDescription(objPop3.LastError)
Sleep method
This function suspends the current thread for the specified number of milliseconds.
Parameters:
- Milliseconds to sleep
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
...
objPop3.Sleep 1000
...
SetSecure method
This function enables TLS/SSL and sets the correct port number.
Parameters:
- Port number. Default: 995
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
objPop3.SetSecure
objPop3.Connect "pop.gmail.com", "me@gmail.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
Connect method
This function connects to the POP3 server.
Parameters:
- Hostname
- Account
- Password
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
objPop3.Connect "pop.gmail.com", "me@gmail.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
Disconnect method
This function disconnects from the POP3 server.
Parameters:
- None
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
objPop3.Connect "pop.gmail.com", "me@gmail.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
objPop3.Disconnect
IsConnected method
This function returns the connected state. True is connected, False if not connected.
Parameters:
- None
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
objPop3.Connect "pop.gmail.com", "me@gmail.com", "password"
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
WScript.Quit
End If
...
WScript.Echo objPop3.IsConnected
...
objPop3.Disconnect
CountMessages method
This function requests the number of messages in the mail drop.
Parameters:
- None
Return value:
The number of messages in the mail-drop
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailMessage(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
WScript.Echo objMail.BodyPlainText
Next
...
DeleteMessage method
This function deletes a message from the mail-drop. This prevents the mail server from including this email on the next connect.
Parameters:
- Message Id
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailMessage(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
WScript.Echo objMail.BodyPlainText
objPop3.DeleteMessage objMessage.ID
Next
...
GetEmailHeader method
This function only returns the email header. On most mail servers this will be faster than retrieving the entire message body.
Parameters:
- Message Id
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailHeader(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
Next
...
GetEmailMessage method
This function retrieves the email message
Parameters:
- Message Id
Return value:
Always 0.
Example:
Set objPop3 = CreateObject("AxEmail.Pop3")
Set objMail = CreateObject("AxEmail.Message")
...
For i = 1 to objPop3.CountMessages()
Set objMail = objPop3.GetEmailMessage(i)
If objPop3.LastError <> 0 Then
WScript.Echo "Error:" & objPop3.GetErrorDescription(objPop3.LastError)
objPop3.Disconnect
WScript.Quit
End If
WScript.Echo "--------------------------------------------------------------"
WScript.Echo objMail.Date
WScript.Echo objMail.FromAddress
WScript.Echo objMail.Subject
WScript.Echo objMail.BodyPlainText
Next
...