Skip to main content


class %Net.POP3 extends %Net.FetchMailProtocol

For information on using this class, see Sending and Receiving Email.

Implements %Net.FetchMailProtocol

Property Inventory

Method Inventory


property IgnoreInvalidBase64Chars as %Boolean [ InitialExpression = 0 ];
If IgnoreInvalidBase64Chars is true, then unexpected characters will be ignored during base64 decoding. RFC 2045 is ambiguous about whether unexpected characters should be ignored or result in an error during base64 decoding. The default is false.
Property methods: IgnoreInvalidBase64CharsDisplayToLogical(), IgnoreInvalidBase64CharsGet(), IgnoreInvalidBase64CharsIsValid(), IgnoreInvalidBase64CharsLogicalToDisplay(), IgnoreInvalidBase64CharsNormalize(), IgnoreInvalidBase64CharsSet()
property SSLCheckServerIdentity as %Boolean [ InitialExpression = 0 ];
When making an SSL connection check the server identity in the server certificate matches the name of the system we are connecting to. This defaults to being on and matches based on the rules layed out in section 3.1 of RFC 2818.
Property methods: SSLCheckServerIdentityDisplayToLogical(), SSLCheckServerIdentityGet(), SSLCheckServerIdentityIsValid(), SSLCheckServerIdentityLogicalToDisplay(), SSLCheckServerIdentityNormalize(), SSLCheckServerIdentitySet()
property SSLConfiguration as %String;
The name of the activated TLS/SSL configuration to use for pop3s requests.
Property methods: SSLConfigurationDisplayToLogical(), SSLConfigurationGet(), SSLConfigurationIsValid(), SSLConfigurationLogicalToDisplay(), SSLConfigurationLogicalToOdbc(), SSLConfigurationNormalize(), SSLConfigurationSet()
property UseSTARTTLS as %Boolean;
If true then the STARTTLS extension to POP3 (RFC 2595) should be used to authenticate to the POP3 server on the normal POP3 port. The SSLConfiguration must be specified.
Property methods: UseSTARTTLSDisplayToLogical(), UseSTARTTLSGet(), UseSTARTTLSIsValid(), UseSTARTTLSLogicalToDisplay(), UseSTARTTLSNormalize(), UseSTARTTLSSet()
property port as %Integer;
The port of the POP3 server, the default is 110 for plain text and 995 for SSL.
Property methods: portDisplayToLogical(), portIsValid(), portLogicalToDisplay(), portNormalize(), portSet()
property timeout as %Integer [ InitialExpression = 30 ];
The read timeout in seconds to use when communicating with the POP3 server
Property methods: timeoutDisplayToLogical(), timeoutGet(), timeoutIsValid(), timeoutLogicalToDisplay(), timeoutNormalize(), timeoutSet()


method %OnClose() as %Status
Cleanup the temp global used to store the message.
method Connect(PopServer As %String, UserName As %String, Password As %String = "", AccessToken As %String = "") as %Status
method ConnectPort(PopServer As %String, PopPort As %Integer = 110, UserName As %String, Password As %String, AccessToken As %String = "") as %Status
method DeleteMessage(MessageNumber As %Integer) as %Status
method Fetch(MessageNumber As %Integer, ByRef MailMsg As %Net.MailMessage, Delete As %Boolean = 0, messageStream As %BinaryStream) as %Status
method FetchFromStream(messageStream As %BinaryStream, ByRef MailMsg As %Net.MailMessage) as %Status
method FetchMessage(MessageNumber As %Integer, ByRef From As %String, ByRef To As %String, ByRef Date As %String, ByRef Subject As %String, ByRef MessageSize As %Integer, ByRef MsgHeaders As %ArrayOfDataTypes, ByRef MailMsg As %Net.MailMessage, Delete As %Boolean = 0) as %Status
method FetchMessageHeaders(MessageNumber As %Integer, ByRef MsgHeadersArray As %String) as %Status
method FetchMessageInfo(MessageNumber As %Integer, Lines As %Integer, ByRef From As %String, ByRef To As %String, ByRef Date As %String, ByRef Subject As %String, ByRef MessageSize As %Integer, ByRef MsgHeaders As %ArrayOfDataTypes, ByRef MessageText As %String) as %Status
Inherited description:

This method retrieves a single message. MessageNumber must be a valid message number and the message must not be currently marked for deletion.

An upper bound is put on number of lines of message text retrieved by Lines.

The text of the retrieved message is returned in the MessageText argument as a %String.

FetchMessageInfo is typically used to get From, Date, and other header information without actually getting the message text. This allows one to filter out messages from parties one wishes to exclude or to zero in on messages one particularly wants. Since getting message text is something that can happen over a slow modem, this is a desirable feature.

method GetAttachedEmail(msgpart As %Net.MailMessagePart, Output mailmsg As %Net.MailMessage) as %Status
Convert the text of an attached email (Content-Type: message/rfc822) to a %Net.mailMessage.
method GetMailBoxStatus(ByRef NumberOfMessages As %Integer, ByRef NumberOfBytes As %Integer) as %Status
method GetMessageUID(MessageNumber As %Integer, ByRef UniqueID As %String) as %Status
method GetMessageUIDArray(MessageNumber As %String = "", ByRef ListOfUniqueIDs As %ArrayOfDataTypes) as %Status
method GetSizeOfMessages(MessageNumber As %String = "", ByRef ListOfSizes As %ArrayOfDataTypes) as %Status
method Ping() as %Status
method QuitAndCommit() as %Status
method QuitAndRollback() as %Status
method RollbackDeletes() as %Status

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab