Skip to main content

%Net.POP3

Class %Net.POP3 Extends %Net.FetchMailProtocol [ System = 3 ]

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

Implements %Net.FetchMailProtocol

Properties

port

Property port As %Integer;

The port of the POP3 server, the default is 110 for plain text and 995 for SSL.

timeout

Property timeout As %Integer [ InitialExpression = 30 ];

The read timeout in seconds to use when communicating with the POP3 server

SSLConfiguration

Property SSLConfiguration As %String;

The name of the activated TLS/SSL configuration to use for pop3s requests.

UseSTARTTLS

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.

IgnoreInvalidBase64Chars

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.

SSLCheckServerIdentity

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.

dev

Property dev As %String [ Internal ];

TCP device actually used for communicating with the POP3 server.

Branch

Property Branch As %Integer [ Internal, Private ];

Branch of the temp global that stores the message.

Methods

portGet

Method portGet() As %Integer [ CodeMode = expression, Internal ]

Default port is 110 for plain text and 995 for SSL.

%OnClose

Method %OnClose() As %Status [ ProcedureBlock = 1, ServerOnly = 1 ]

Cleanup the temp global used to store the message.

Connect

Method Connect(PopServer As %String, UserName As %String, Password As %String = "", AccessToken As %String = "") As %Status [ CodeMode = expression ]

see %Net.FetchMailProtocol Connect

ConnectPort

Method ConnectPort(PopServer As %String, PopPort As %Integer = 110, UserName As %String, Password As %String, AccessToken As %String = "") As %Status

see %Net.FetchMailProtocol Connect

GetMailBoxStatus

Method GetMailBoxStatus(ByRef NumberOfMessages As %Integer, ByRef NumberOfBytes As %Integer) As %Status

see %Net.FetchMailProtocol GetMailBoxStatus

GetSizeOfMessages

Method GetSizeOfMessages(MessageNumber As %String = "", ByRef ListOfSizes As %ArrayOfDataTypes) As %Status

see %Net.FetchMailProtocol GetSizeOfMessages

GetMessageUIDArray

Method GetMessageUIDArray(MessageNumber As %String = "", ByRef ListOfUniqueIDs As %ArrayOfDataTypes) As %Status

see %Net.FetchMailProtocol GetMessageUIDArray

GetMessageUID

Method GetMessageUID(MessageNumber As %Integer, ByRef UniqueID As %String) As %Status

see %Net.FetchMailProtocol GetMessageUID

Fetch

Method Fetch(MessageNumber As %Integer, ByRef MailMsg As %Net.MailMessage, Delete As %Boolean = 0, messageStream As %BinaryStream) As %Status

see %Net.FetchMailProtocol Fetch

FetchFromStream

Method FetchFromStream(messageStream As %BinaryStream, ByRef MailMsg As %Net.MailMessage) As %Status

see %Net.FetchMailProtocol FetchFromStream

FetchMessage

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

see %Net.FetchMailProtocol FetchMessage

GetMailMessage

Method GetMailMessage(glv As %String, part As %Integer, Output mailmsg As %Net.MailMessage) As %Status [ Internal, Private, ProcedureBlock = 1 ]

Convert a part that represents an email message to %Net.MailMessage object

GetAttachedEmail

Method GetAttachedEmail(msgpart As %Net.MailMessagePart, Output mailmsg As %Net.MailMessage) As %Status [ ProcedureBlock = 1 ]

Convert the text of an attached email (Content-Type: message/rfc822) to a %Net.mailMessage.

WalkParts

Method WalkParts(glv As %String, part As %Integer, msgpart As %Net.MailMessagePart) [ Internal, Private ]

FetchMessageInfo

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

GetHeadersAndBody

Method GetHeadersAndBody(ByRef From As %String, ByRef To As %String, ByRef Date As %String, ByRef Subject As %String, ByRef MsgHeaders As %ArrayOfDataTypes, MessageText As %String) As %Status [ Internal, Private ]

Assumes current device is TCP socket to POP3 server.

FetchMessageHeaders

Method FetchMessageHeaders(MessageNumber As %Integer, ByRef MsgHeadersArray As %String) As %Status

see %Net.FetchMailProtocol FetchMessageHeaders

GetHeadersArray

Method GetHeadersArray(Output MsgHeadersArray As %String) As %Status [ Internal ]

Assumes current device is TCP socket to POP3 server.

DeleteMessage

Method DeleteMessage(MessageNumber As %Integer) As %Status

see %Net.FetchMailProtocol DeleteMessage

RollbackDeletes

Method RollbackDeletes() As %Status

see %Net.FetchMailProtocol RollbackDeletes

QuitAndCommit

Method QuitAndCommit() As %Status

see %Net.FetchMailProtocol QuitAndCommit

QuitAndRollback

Method QuitAndRollback() As %Status

see %Net.FetchMailProtocol QuitAndRollback

Ping

Method Ping() As %Status

see %Net.FetchMailProtocol Ping

SetDestList

Method SetDestList(destlist As %ListOfDataTypes, dests As %String) [ Internal, Private ]

BeginsWithSpace

ClassMethod BeginsWithSpace(x As %String) As %Integer [ Internal, Private ]

MailError

ClassMethod MailError(line As %String) As %String [ Internal, Private ]