pop3://¶
POP3 polling consumer (RFC 1939). Stdlib only — no external POP3 library. For
TLS-from-start, use pop3s://. For send, see
smtp://.
POP3 is simpler than IMAP: one mailbox per session, no folders, no search. Messages are retrieved in order; optionally deleted after successful processing.
URI shape¶
Parameters¶
Connection¶
| Param | Type | Default | Description |
|---|---|---|---|
host |
string | from URI path | POP3 server host. |
port |
integer | 110 |
POP3 server port. |
username |
string | required | POP3 USER credential. |
password |
string | required | POP3 PASS credential. |
connectionTimeout |
duration | 30s |
TCP dial + read timeout. |
tls |
boolean | false (true on pop3s://) |
Implicit TLS from start. |
starttls |
boolean | false |
Opportunistic STLS upgrade (RFC 2595). |
tlsInsecure |
boolean | false |
Skip certificate verification (testing). |
tlsServerName |
string | — | SNI server name override. |
Operations¶
| Param | Type | Default | Description |
|---|---|---|---|
delete |
boolean | false |
DELE messages after the route succeeds. |
handleFailedMessage |
boolean | false |
Let the route ErrorHandler handle MIME-parse failures. |
skipFailedMessage |
boolean | false |
Skip + log MIME-parse failures. |
Pagination + transport¶
| Param | Type | Default | Description |
|---|---|---|---|
fetchSize |
integer | 0 |
Cap rows per poll cycle. 0 = all available. |
maxMessagesPerPoll |
integer | 0 |
Hard cap on messages dispatched per poll. |
sendEmptyMessageWhenIdle / routeEmptyResultSet / breakBatchOnConsumeFail |
boolean | false |
Same semantics as imap://. |
decodeFilename / mimeDecodeHeaders / generateMissingAttachmentNames |
boolean | false |
MIME decoding behaviour. |
includeRawMessage |
boolean | false |
Surface raw bytes as HelixMailRaw header. |
Polling scheduler¶
Same as imap://: delay, initialDelay, useFixedDelay,
repeatCount, greedy, pollInterval (legacy alias).
Body shape¶
Same as imap:// — see that page for the exchange-level
contract.
Example¶
trigger:
uri: pop3://mail.example.com?username=alerts&password=…&delete=true&delay=5m
steps:
- log:
message: "Subject: ${headers.Subject}"