Synopsis
perch mail fetch [OPTIONS]Description
Fetch complete RFC 5322 messages selected by UID, query, or –all. The default format writes one .eml per message when –dest is a directory, or raw bytes to stdout for a single message.
mbox writes a standard mbox stream. maildir creates tmp/new/cur and preserves message flags.
Aliases: get.
Notes
- BODY.PEEK[] is used unless –mark-seen is set.
- Writing eml to stdout requires exactly one message.
- –dest is a directory for eml/maildir and a file for mbox.
- Existing files are not overwritten unless –overwrite is passed.
Options
| Option | Description |
|---|---|
--username, -u <value> | account username (env PERCH_IMAP_USER) |
--password <value> | account password (prefer PERCH_IMAP_PASSWORD or –password-file) |
--password-file <value> | read the account password from a file |
--password-stdin | read the account password from stdin |
--timeout <value> | connection timeout (default: 30s) |
--config <value> | configuration file (default: ~/.config/perch/perch.yaml) |
--mailbox, -m <value> | mailbox to fetch from (default: “INBOX”) |
--query, -q <value> | search expression |
--uids <value> | explicit UID set, for example 1,3:5,10:* |
--all | fetch every message in the mailbox |
--limit, -n <value> | maximum messages (0 means unlimited) (default: 0) |
--format, -f <value> | eml, mbox, or maildir (default: “eml”) |
--dest, -d, -o <value> | destination directory (eml/maildir) or file (mbox); default stdout |
--mark-seen | let the server set \Seen (default uses BODY.PEEK) |
--overwrite | overwrite an existing eml/mbox destination |
--reverse | fetch newest first instead of oldest first |
--server, -s <value> | IMAP server (imaps://host, imap://host, or host[:port]); defaults from –config |
--plaintext | connect to IMAP without TLS (use only on trusted networks) |
--starttls | require STARTTLS for IMAP |
--insecure | skip IMAP TLS certificate verification |
--ca-file <value> | PEM CA bundle used to verify the IMAP server certificate |
--help, -h | show help |
Examples
perch mail fetch --uids 42 > message.eml
perch mail fetch -q 'from:alice' --format mbox > alice.mbox
perch mail fetch -q 'unseen' --format maildir --dest ~/Mail
perch mail fetch -q 'unseen' --dest ./messagesEnvironment
| Variable | Purpose |
|---|---|
PERCH_IMAP_USER | default account username |
PERCH_IMAP_PASSWORD | account password |