Qore Pop3Client Module Reference  1.9
Pop3Client Module

Pop3Client Module Introduction

The Pop3Client module provides the Pop3Client class for retrieving emails from a POP3 server, with or without TLS/SSL encryption.

To use this module, use "%requires Pop3Client" in your code. See examples/pop3.q for an example program using this module.

All the public symbols in the module are defined in the Pop3Client namespace.

The main classes are:

Example:
#!/usr/bin/env qore
%new-style
%strict-args
%require-types
%enable-all-warnings
%requires Pop3Client
sub log(string msg) {
printf("%y: %s\n", now_ms(), vsprintf(msg, argv));
}
string url = "pop3s://username:[email protected]";
Pop3Client pop3(url, \log(), \log());
# do not send a QUIT so changes will not be committed
pop3.noquit(True);
*hash<auto> h = pop3.getMail();
printf("Mailbox Summary:\n");
map printf("%s: From: %s (size: %d bytes, attachments: %d)\n", $1.key, $1.value.msg.getFrom(), $1.value.size, $1.getvalue.msg.getAttachments().size()), h.pairIterator();
if (!h)
printf("no messages\n");
Note
based on http://tools.ietf.org/html/rfc1939 (POP3)

Pop3Client Module Release Notes

Pop3Client 1.9

  • implemented support for a data provider scheme cache and rich option information for connections (issue 4025)

Pop3Client 1.8

  • removed the Pop3Connection::getConstructorInfo() and Pop3Connection::getConstructorInfoImpl() methods (issue 3696)
  • added support for socket events (issue 3425)

Pop3Client 1.7

  • all connection clases have unified constructor

Pop3Client 1.6

  • added the Pop3Connection::getConstructorInfo() method to allow connections to be created dynamically, potentially in another process from a network call (removed in Pop3Client 1.8) (issue 2628)

Pop3Client 1.5

Pop3Client 1.4

Pop3Client 1.3

  • added socket instrumention support from Qore 0.8.9

Pop3Client 1.2

  • uncommented the "connected" debug message

Pop3Client 1.1

  • added the logPassword() methods and masked password by default in the debug log

Pop3Client 1.0

  • initial release
now_ms
date now_ms()
vsprintf
string vsprintf(string fmt, auto varg)
printf
string printf(string fmt,...)