<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>perch on perch docs</title><link>https://perch.mxraven.com/</link><description>Recent content in perch on perch docs</description><generator>Hugo</generator><language>en</language><atom:link href="https://perch.mxraven.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Fetching mail</title><link>https://perch.mxraven.com/docs/mail/fetch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/mail/fetch/</guid><description>&lt;p&gt;&lt;code&gt;perch mail fetch&lt;/code&gt; writes raw RFC 5322 messages to stdout, files, an mbox&#10;stream, or a Maildir.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# One raw message on stdout.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch --server imaps://mail.example.com --username you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --uids &lt;span style="color:#ff9f43"&gt;42&lt;/span&gt; &amp;gt; message.eml&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# An mbox stream for formail, procmail, or archival.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch --server imaps://mail.example.com --username you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --query &lt;span style="color:#5af78e"&gt;&amp;#39;from:alice&amp;#39;&lt;/span&gt; --format mbox &amp;gt; alice.mbox&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# One .eml file per message.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch --server imaps://mail.example.com --username you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --query &lt;span style="color:#5af78e"&gt;&amp;#39;unseen&amp;#39;&lt;/span&gt; --dest ./messages&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Maildir, preserving flags.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch --server imaps://mail.example.com --username you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --query &lt;span style="color:#5af78e"&gt;&amp;#39;from:alice&amp;#39;&lt;/span&gt; --format maildir --dest ~/Mail&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="formats"&gt;Formats&lt;a class="anchor" href="#formats"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Format&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Destination&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Notes&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;eml&lt;/code&gt; (default)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;stdout for one message, or a directory&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Writes &lt;code&gt;&amp;lt;uid&amp;gt;.eml&lt;/code&gt; per message&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;mbox&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;stdout or a file&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Escapes &lt;code&gt;From &lt;/code&gt; lines and separates messages&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;maildir&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;a Maildir root&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Creates &lt;code&gt;tmp/&lt;/code&gt;, &lt;code&gt;new/&lt;/code&gt;, &lt;code&gt;cur/&lt;/code&gt;; preserves flags&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&lt;code&gt;--dest&lt;/code&gt; is a directory for &lt;code&gt;eml&lt;/code&gt; and &lt;code&gt;maildir&lt;/code&gt;, and a file for &lt;code&gt;mbox&lt;/code&gt;. Existing&#10;files are not overwritten unless &lt;code&gt;--overwrite&lt;/code&gt; is passed.&lt;/p&gt;</description></item><item><title>Installation</title><link>https://perch.mxraven.com/docs/getting-started/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/getting-started/installation/</guid><description>&lt;p&gt;Prebuilt binaries for Linux, macOS, and Windows are published on the&#10;&lt;a href="https://github.com/synqronlabs/perch/releases"&gt;releases page&lt;/a&gt;. Every release&#10;includes SHA-256 checksums, SBOMs, a keyless cosign signature, and GitHub build&#10;provenance. See&#10;&lt;a href="https://github.com/synqronlabs/perch/blob/main/RELEASING.md#verifying-a-release"&gt;RELEASING.md&lt;/a&gt;&#10;for verification details.&lt;/p&gt;&#10;&lt;h2 id="with-go"&gt;With Go&lt;a class="anchor" href="#with-go"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;If you have Go 1.26.4 or later, &lt;code&gt;go install&lt;/code&gt; builds the latest tagged release.&#10;CGO is not required.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go install github.com/synqronlabs/perch/cmd/perch@latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The binary is written to &lt;code&gt;$(go env GOPATH)/bin&lt;/code&gt; (usually &lt;code&gt;~/go/bin&lt;/code&gt;). Add that&#10;directory to &lt;code&gt;PATH&lt;/code&gt; if needed. To pin a version:&lt;/p&gt;</description></item><item><title>perch init</title><link>https://perch.mxraven.com/docs/cli/perch-init/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-init/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch init [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;init writes a self-contained perch.yaml and initializes the SQLite database without contacting mxRaven. It is intended for local testing or for deployments where mxRaven is provisioned separately.&lt;/p&gt;&#10;&lt;p&gt;If &amp;ndash;email is set, init also creates the first account and its default mailbox set. Use &amp;ndash;self-signed to generate a local TLS certificate for LAN clients.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The config is written with mode 0600 and the data directory with mode 0700.&lt;/li&gt;&#10;&lt;li&gt;&amp;ndash;force overwrites an existing configuration.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--data-dir &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;data directory&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--hostname &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;server hostname (default: &amp;ldquo;localhost&amp;rdquo;)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--email &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;first account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--name &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;first account display name&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;first account password (prompted when empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--self-signed&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;generate a self-signed TLS certificate&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--force&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;overwrite an existing configuration&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch init --data-dir ~/.local/share/perch --hostname localhost --email you@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch init --self-signed --hostname mail.lan --email you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>S3 archival</title><link>https://perch.mxraven.com/docs/storage/s3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/storage/s3/</guid><description>&lt;p&gt;If you want bottomless cloud storage, enable S3 mode. mxRaven writes incoming&#10;&lt;code&gt;.eml&lt;/code&gt; files directly to your bucket via &lt;code&gt;S3_STORE&lt;/code&gt;, and &lt;code&gt;perch&lt;/code&gt; reconciles the&#10;bucket automatically.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;export&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;MXRAVEN_API_TOKEN&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;export&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;PERCH_S3_SECRET_KEY&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch setup &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --config ~/.local/share/perch/perch.yaml &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --data-dir ~/.local/share/perch &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --workspace my-workspace &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --domain example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --hostname mail.example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --storage s3 &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --s3-bucket my-mail-archive &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --s3-region auto &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --s3-endpoint https://&amp;lt;account&amp;gt;.r2.cloudflarestorage.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --s3-access-key &amp;lt;access-key&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To expose perch directly on a public VPS with standard ports and automatic&#10;Let&amp;rsquo;s Encrypt certificates, add:&lt;/p&gt;</description></item><item><title>systemd service</title><link>https://perch.mxraven.com/docs/operations/systemd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/operations/systemd/</guid><description>&lt;p&gt;&lt;code&gt;perch serve&lt;/code&gt; runs in the foreground, logs to stderr, drains connections on&#10;&lt;code&gt;SIGTERM&lt;/code&gt;/&lt;code&gt;SIGINT&lt;/code&gt; (waiting up to five seconds), and reloads certificate files&#10;on &lt;code&gt;SIGHUP&lt;/code&gt;, so it maps directly onto a &lt;code&gt;Type=simple&lt;/code&gt; unit. It does not fork,&#10;write a PID file, implement &lt;code&gt;sd_notify&lt;/code&gt;, or support socket activation; do not&#10;use &lt;code&gt;Type=notify&lt;/code&gt; or socket units.&lt;/p&gt;&#10;&lt;p&gt;The examples below use a dedicated &lt;code&gt;perch&lt;/code&gt; service account,&#10;&lt;code&gt;/etc/perch/perch.yaml&lt;/code&gt;, and &lt;code&gt;/var/lib/perch&lt;/code&gt;. Adjust paths if your layout&#10;differs, and keep &lt;code&gt;data_dir&lt;/code&gt; in YAML in sync with &lt;code&gt;StateDirectory&lt;/code&gt; and&#10;&lt;code&gt;ReadWritePaths&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Create an mxRaven API key</title><link>https://perch.mxraven.com/docs/getting-started/mxraven-api-key/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/getting-started/mxraven-api-key/</guid><description>&lt;p&gt;&lt;code&gt;perch setup&lt;/code&gt; needs an mxRaven API key to provision your workspace. mxRaven&#10;uses &lt;a href="https://zitadel.com"&gt;ZITADEL&lt;/a&gt; for identity, so the key is a &lt;strong&gt;Personal&#10;Access Token (PAT)&lt;/strong&gt; on a ZITADEL service account.&lt;/p&gt;&#10;&lt;p&gt;This is a control-plane token, not a listener API key. perch uses it only during&#10;setup to create the domain, listeners, routes, and listener credentials, and&#10;never writes it to &lt;code&gt;perch.yaml&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="before-you-start"&gt;Before you start&lt;a class="anchor" href="#before-you-start"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;You can sign in to the &lt;a href="https://app.mxraven.com"&gt;mxRaven dashboard&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;You know your workspace slug, for example &lt;code&gt;my-workspace&lt;/code&gt;. It is the&#10;&lt;code&gt;--workspace&lt;/code&gt; value you pass to &lt;code&gt;perch setup&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;You have administrator access to that workspace.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="1-open-the-zitadel-console"&gt;1. Open the ZITADEL console&lt;a class="anchor" href="#1-open-the-zitadel-console"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Sign in at &lt;a href="https://id.mxraven.com/ui/console"&gt;https://id.mxraven.com/ui/console&lt;/a&gt; with the same account you use for&#10;mxRaven. You can also open the dashboard user menu and choose &lt;strong&gt;Manage&#10;authentication&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Backup and garbage collection</title><link>https://perch.mxraven.com/docs/operations/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/operations/maintenance/</guid><description>&lt;p&gt;&lt;code&gt;perch gc&lt;/code&gt; and &lt;code&gt;perch backup&lt;/code&gt; are one-shot commands and are safe to run while&#10;&lt;code&gt;perch serve&lt;/code&gt; is running: SQLite WAL mode allows concurrent readers and&#10;writers.&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;perch reconcile&lt;/code&gt; does not need a timer. &lt;code&gt;serve&lt;/code&gt; reconciles S3 at startup and&#10;every &lt;code&gt;storage.s3.reconcile_every&lt;/code&gt; (default &lt;code&gt;5m&lt;/code&gt;).&lt;/p&gt;&#10;&lt;h2 id="backup-timer"&gt;Backup timer&lt;a class="anchor" href="#backup-timer"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;perch backup&lt;/code&gt; refuses to overwrite an existing destination. Use a wrapper to&#10;add timestamps and prune old copies. Write &lt;code&gt;/usr/local/bin/perch-backup&lt;/code&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo tee /usr/local/bin/perch-backup &amp;gt;/dev/null &lt;span style="color:#5af78e"&gt;&amp;lt;&amp;lt;&amp;#39;EOF&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;#!/bin/sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;set -eu&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;stamp=$(date +%Y%m%d-%H%M%S)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;/usr/local/bin/perch backup --config /etc/perch/perch.yaml &amp;#34;/var/lib/perch/backups/perch-$stamp.db&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;find /var/lib/perch/backups -type f -name &amp;#39;perch-*.db&amp;#39; -mtime +14 -delete&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;EOF&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo chmod &lt;span style="color:#ff9f43"&gt;0755&lt;/span&gt; /usr/local/bin/perch-backup&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;/etc/systemd/system/perch-backup.service&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Configuration</title><link>https://perch.mxraven.com/docs/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/configuration/</guid><description>&lt;p&gt;&lt;code&gt;perch init&lt;/code&gt; and &lt;code&gt;perch setup&lt;/code&gt; write YAML with &lt;code&gt;0600&lt;/code&gt; permissions. The default&#10;path is &lt;code&gt;$XDG_CONFIG_HOME/perch/perch.yaml&lt;/code&gt; (usually&#10;&lt;code&gt;~/.config/perch/perch.yaml&lt;/code&gt;), but production deployments should pass&#10;&lt;code&gt;--config&lt;/code&gt; explicitly.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;data_dir&lt;/span&gt;: /var/lib/perch&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;hostname&lt;/span&gt;: mail.example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;imap&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;addr&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;127.0.0.1&lt;/span&gt;:&lt;span style="color:#ff9f43"&gt;1143&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;imaps_addr&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;allow_plaintext_loopback&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;submission&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;addr&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;127.0.0.1&lt;/span&gt;:&lt;span style="color:#ff9f43"&gt;1587&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;tls_addr&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;tls&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cert_file&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_file&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;acme&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;enabled&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;email&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;domains&lt;/span&gt;: []&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;http_addr&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;:80&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;storage&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;mode&lt;/span&gt;: sqlite &lt;span style="color:#78787e"&gt;# sqlite | s3&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;s3&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;endpoint&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;region&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;bucket&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;prefix&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;perch/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;access_key&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;secret_key&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;secret_key_env&lt;/span&gt;: PERCH_S3_SECRET_KEY&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;force_path_style&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_template&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;perch/{{.mailbox.address}}/{{.task.id}}.eml&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;reconcile_every&lt;/span&gt;: 5m&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;spool&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;spool_max_bytes&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;268435456&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;max_connections&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;512&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ingest_concurrency&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;blob_cache_bytes&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;67108864&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;max_message_bytes&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;26214400&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;max_recipients&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;100&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;mxraven&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;submission_host&lt;/span&gt;: smtp.mxraven.email&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;submission_port&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;587&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;notification_url&lt;/span&gt;: wss://notifications.mxraven.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;feedback_url&lt;/span&gt;: https://api.mxraven.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;listeners&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;id&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;kind&lt;/span&gt;: mta&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_prefix&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_secret_env&lt;/span&gt;: PERCH_MXRAVEN_KEY_SECRET&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;consumer&lt;/span&gt;: notify-...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;id&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;kind&lt;/span&gt;: submission&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_prefix&lt;/span&gt;: ...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;key_secret_env&lt;/span&gt;: PERCH_MXRAVEN_SUBMISSION_KEY_SECRET&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Secrets can be inline (protected by file permissions) or referenced through&#10;environment variables. The mxRaven control-plane token is used only by&#10;&lt;code&gt;perch setup&lt;/code&gt; and is never written to the config.&lt;/p&gt;</description></item><item><title>perch setup</title><link>https://perch.mxraven.com/docs/cli/perch-setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-setup/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch setup [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;setup calls the mxRaven control plane to provision a workspace domain, MTA listener, optional submission listener, API keys, inbound route, sending-domain policy, and optional S3_STORE rule. It then writes perch.yaml.&lt;/p&gt;&#10;&lt;p&gt;The control-plane token is used only during setup and is never written to the config. Listener and S3 secrets are written inline unless you replace them with *_env references.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>https://perch.mxraven.com/docs/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/getting-started/quickstart/</guid><description>&lt;p&gt;This quickstart provisions mxRaven, creates a local account, starts perch, and&#10;connects a mail client.&lt;/p&gt;&#10;&lt;h2 id="1-provision-mxraven-and-generate-config"&gt;1. Provision mxRaven and generate config&lt;a class="anchor" href="#1-provision-mxraven-and-generate-config"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;First &lt;a href="https://perch.mxraven.com/docs/getting-started/mxraven-api-key/"&gt;create an mxRaven API key&lt;/a&gt;, then export it. With the&#10;token, &lt;code&gt;perch setup&lt;/code&gt; configures your domain, inbound route, submission listener,&#10;spam/auth rules, and writes &lt;code&gt;perch.yaml&lt;/code&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;export&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;MXRAVEN_API_TOKEN&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch setup &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --config ~/.local/share/perch/perch.yaml &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --data-dir ~/.local/share/perch &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --workspace my-workspace &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --domain example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --hostname localhost&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Publish the DNS records printed by the wizard, or pass &lt;code&gt;--wait&lt;/code&gt; to wait until&#10;DNS verifies.&lt;/p&gt;</description></item><item><title>Sending mail</title><link>https://perch.mxraven.com/docs/mail/send/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/mail/send/</guid><description>&lt;p&gt;&lt;code&gt;perch mail send&lt;/code&gt; composes a MIME message and submits it through the SMTP&#10;submission listener.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Simple text message.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send --from you@example.com --to alice@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --subject &lt;span style="color:#5af78e"&gt;&amp;#39;Hello&amp;#39;&lt;/span&gt; --body &lt;span style="color:#5af78e"&gt;&amp;#39;Hi Alice&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Read the body from stdin.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#39;Hi Alice&amp;#39;&lt;/span&gt; | perch mail send --from you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --to alice@example.com --subject &lt;span style="color:#5af78e"&gt;&amp;#39;Hello&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Attachments, Cc/Bcc, and both text and HTML bodies.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --from you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --to &lt;span style="color:#5af78e"&gt;&amp;#39;Alice &amp;lt;alice@example.com&amp;gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cc bob@example.net &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --bcc audit@example.net &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --subject &lt;span style="color:#5af78e"&gt;&amp;#39;Quarterly report&amp;#39;&lt;/span&gt; &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --body-file message.txt &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --html-file message.html &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --attach report.pdf &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --attach chart.png&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Compose and inspect the raw message without sending it.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send --from you@example.com --to alice@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --subject &lt;span style="color:#5af78e"&gt;&amp;#39;Draft&amp;#39;&lt;/span&gt; --body &lt;span style="color:#5af78e"&gt;&amp;#39;Hello&amp;#39;&lt;/span&gt; --dry-run &amp;gt; message.eml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="bodies"&gt;Bodies&lt;a class="anchor" href="#bodies"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The body is read from &lt;code&gt;--body&lt;/code&gt;, &lt;code&gt;--body-file&lt;/code&gt;, &lt;code&gt;--html-body&lt;/code&gt;, &lt;code&gt;--html-file&lt;/code&gt;, or&#10;stdin when stdin is not a terminal.&lt;/p&gt;</description></item><item><title>perch serve</title><link>https://perch.mxraven.com/docs/cli/perch-serve/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-serve/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch serve [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;serve runs in the foreground and starts the configured IMAP, IMAPS, submission, and SMTPS listeners plus the mxRaven WebSocket consumer and S3 reconciler.&lt;/p&gt;&#10;&lt;p&gt;It logs to stderr, drains connections on SIGTERM/SIGINT for up to five seconds, and reloads certificate files on SIGHUP when tls.cert_file and tls.key_file are set. It does not fork, write a PID file, or support socket activation.&lt;/p&gt;</description></item><item><title>Agents and applications</title><link>https://perch.mxraven.com/docs/mail/agents/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/mail/agents/</guid><description>&lt;p&gt;perch is a normal mail server with a scriptable interface. That makes it useful&#10;anywhere a program needs an inbox but you do not want to build or rent a&#10;vendor-specific mailbox API.&lt;/p&gt;&#10;&lt;h2 id="why-use-perch-for-an-agent"&gt;Why use perch for an agent&lt;a class="anchor" href="#why-use-perch-for-an-agent"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Standard email.&lt;/strong&gt; Agents get a real address that can receive from and send&#10;to the outside world.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;POSIX CLI.&lt;/strong&gt; Search, read, reply, and attach files with commands that work&#10;in a shell, a tool call, or a cron job.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Structured output.&lt;/strong&gt; &lt;code&gt;--json&lt;/code&gt; emits NDJSON, one object per message.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Raw messages.&lt;/strong&gt; &lt;code&gt;fetch&lt;/code&gt; writes the complete RFC 5322 message for RAG,&#10;summarization, or archival.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Local or remote.&lt;/strong&gt; The same commands work against a local perch server or&#10;any remote IMAP/SMTP server.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;No public IP.&lt;/strong&gt; perch can sit behind NAT or CGNAT while mxRaven handles the&#10;public mail edge.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="patterns"&gt;Patterns&lt;a class="anchor" href="#patterns"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h3 id="one-mailbox-per-agent"&gt;One mailbox per agent&lt;a class="anchor" href="#one-mailbox-per-agent"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;Give each agent its own account or alias so its context and credentials are&#10;isolated:&lt;/p&gt;</description></item><item><title>perch account</title><link>https://perch.mxraven.com/docs/cli/perch-account/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-account/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account [OPTIONS] COMMAND&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Manage local mailbox accounts. Creating an account also creates the default mailbox set: INBOX, Sent, Drafts, Trash, Junk, and Archive.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Passwords are hashed with Argon2id.&lt;/li&gt;&#10;&lt;li&gt;Account changes are written to SQLite and apply without restarting serve.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="commands"&gt;Commands&lt;a class="anchor" href="#commands"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-add/"&gt;perch account add&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;create an account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-list/"&gt;perch account list&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list accounts&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-passwd/"&gt;perch account passwd&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;change an account password&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-disable/"&gt;perch account disable&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;disable an account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-enable/"&gt;perch account enable&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;enable an account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account add --email you@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account list&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account passwd --email you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-add/"&gt;perch account add&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-disable/"&gt;perch account disable&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-enable/"&gt;perch account enable&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-list/"&gt;perch account list&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account-passwd/"&gt;perch account passwd&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch account add</title><link>https://perch.mxraven.com/docs/cli/perch-account-add/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-account-add/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account add [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Create an account, its primary address, and default mailboxes in one transaction. If &amp;ndash;password is omitted, perch prompts on a terminal.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The account is enabled immediately.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--email &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--name &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;display name&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;password (prompted when empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account add --email you@example.com --name &lt;span style="color:#5af78e"&gt;&amp;#39;Your Name&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch account list</title><link>https://perch.mxraven.com/docs/cli/perch-account-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-account-list/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account list [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Print account ID, primary address, display name, disabled state, and creation time.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Troubleshooting</title><link>https://perch.mxraven.com/docs/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/troubleshooting/</guid><description>&lt;h2 id="run-the-doctor"&gt;Run the doctor&lt;a class="anchor" href="#run-the-doctor"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch doctor --config /etc/perch/perch.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;perch doctor&lt;/code&gt; checks SQLite integrity and FTS5, TLS certificate files, DNS,&#10;S3 connectivity, and mxRaven listeners. Run it as the same user that runs&#10;&lt;code&gt;perch serve&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="mail-clients-cannot-connect"&gt;Mail clients cannot connect&lt;a class="anchor" href="#mail-clients-cannot-connect"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Check the listener addresses in &lt;code&gt;perch.yaml&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Plaintext is only allowed on loopback. Use TLS or STARTTLS from other hosts.&lt;/li&gt;&#10;&lt;li&gt;For the quickstart defaults, IMAP is &lt;code&gt;127.0.0.1:1143&lt;/code&gt; and submission is&#10;&lt;code&gt;127.0.0.1:1587&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;If you generated a self-signed certificate, the client must trust it or you&#10;must explicitly allow the certificate.&lt;/li&gt;&#10;&lt;li&gt;Off-loopback connections always require TLS.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="perch-mail-cannot-connect"&gt;&lt;code&gt;perch mail&lt;/code&gt; cannot connect&lt;a class="anchor" href="#perch-mail-cannot-connect"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;For an explicit loopback address, add &lt;code&gt;--plaintext&lt;/code&gt; or &lt;code&gt;--smtp-plaintext&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Config-derived loopback listeners select plaintext automatically.&lt;/li&gt;&#10;&lt;li&gt;For remote servers, use &lt;code&gt;imaps://host&lt;/code&gt; / &lt;code&gt;smtps://host&lt;/code&gt; or &lt;code&gt;imap://host&lt;/code&gt; /&#10;&lt;code&gt;smtp://host&lt;/code&gt; for STARTTLS.&lt;/li&gt;&#10;&lt;li&gt;Use &lt;code&gt;--ca-file&lt;/code&gt; for a private CA and &lt;code&gt;--insecure&lt;/code&gt; only for testing.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="authentication-fails"&gt;Authentication fails&lt;a class="anchor" href="#authentication-fails"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;perch mail&lt;/code&gt; uses the account password, not the mxRaven API key.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;perch account passwd&lt;/code&gt; changes the local account password.&lt;/li&gt;&#10;&lt;li&gt;Check &lt;code&gt;authlimit&lt;/code&gt; logs if logins are being throttled.&lt;/li&gt;&#10;&lt;li&gt;For submission, the &lt;code&gt;From&lt;/code&gt; address must be an account address, alias, or&#10;authorized plus-address.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="messages-are-delivered-but-not-visible-locally"&gt;Messages are delivered but not visible locally&lt;a class="anchor" href="#messages-are-delivered-but-not-visible-locally"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;In S3 mode, check &lt;code&gt;perch reconcile&lt;/code&gt; and the S3 prefix/key template.&lt;/li&gt;&#10;&lt;li&gt;The key template must start with &lt;code&gt;storage.s3.prefix&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;perch gc --s3-delete&lt;/code&gt; removes objects for deleted messages.&lt;/li&gt;&#10;&lt;li&gt;Check &lt;code&gt;perch outbound list&lt;/code&gt; for submission status and SMTP errors.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="s3-errors"&gt;S3 errors&lt;a class="anchor" href="#s3-errors"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Verify the endpoint, region, bucket, access key, and secret.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;secret_key_env&lt;/code&gt; names the environment variable; systemd reads it from&#10;&lt;code&gt;EnvironmentFile&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Run &lt;code&gt;perch reconcile&lt;/code&gt; to force a scan.&lt;/li&gt;&#10;&lt;li&gt;Check that mxRaven&amp;rsquo;s &lt;code&gt;S3_STORE&lt;/code&gt; rule writes to the same bucket and prefix.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="systemd-service-exits"&gt;systemd service exits&lt;a class="anchor" href="#systemd-service-exits"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Run &lt;code&gt;journalctl -u perch -f&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;ExecReload&lt;/code&gt; sends SIGHUP. Only keep it when &lt;code&gt;tls.cert_file&lt;/code&gt; and&#10;&lt;code&gt;tls.key_file&lt;/code&gt; are configured; otherwise SIGHUP terminates the process.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;ProtectHome&lt;/code&gt;/&lt;code&gt;ProtectSystem&lt;/code&gt; must allow the configured &lt;code&gt;data_dir&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;The service user must be able to read the config and write the data dir.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="versions-and-releases"&gt;Versions and releases&lt;a class="anchor" href="#versions-and-releases"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch version&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gh release view --repo synqronlabs/perch&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Manpages are installed with release archives; &lt;code&gt;perch &amp;lt;command&amp;gt; --help&lt;/code&gt; always&#10;reflects the installed binary.&lt;/p&gt;</description></item><item><title>perch account passwd</title><link>https://perch.mxraven.com/docs/cli/perch-account-passwd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-account-passwd/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account passwd [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Replace the account&amp;rsquo;s Argon2id password hash. Existing IMAP and submission sessions are not terminated.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Prompts for the new password when &amp;ndash;password is omitted.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--email &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;new password (prompted when empty)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account passwd --email you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch account disable</title><link>https://perch.mxraven.com/docs/cli/perch-account-disable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-account-disable/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account disable [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Disable prevents new IMAP and submission logins without deleting messages. Use enable to reverse it.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--email &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account disable --email you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch account enable</title><link>https://perch.mxraven.com/docs/cli/perch-account-enable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-account-enable/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account enable [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Re-enable a previously disabled account.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--email &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account &lt;span style="color:#ff5c57"&gt;enable&lt;/span&gt; --email you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch alias</title><link>https://perch.mxraven.com/docs/cli/perch-alias/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-alias/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch alias [OPTIONS] COMMAND&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Aliases map additional addresses to an account. A catch-all is stored as *@domain and accepts any local part for that domain.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Plus-addressing (user+tag@domain) works without an explicit alias.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="commands"&gt;Commands&lt;a class="anchor" href="#commands"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias-add/"&gt;perch alias add&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;add an alias or catch-all&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias-remove/"&gt;perch alias remove&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;remove an alias&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias-list/"&gt;perch alias list&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list aliases for an account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; add --account you@example.com --address sales@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; add --account you@example.com --catch-all --address example.net&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; list --account you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias-add/"&gt;perch alias add&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias-list/"&gt;perch alias list&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias-remove/"&gt;perch alias remove&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch alias add</title><link>https://perch.mxraven.com/docs/cli/perch-alias-add/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-alias-add/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch alias add [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Add an exact address alias, or use &amp;ndash;catch-all with a domain to route all unmatched addresses at that domain to the account. The address must not already belong to another account.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--account &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--address &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;alias address or domain&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--catch-all&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;route all unmatched addresses at &amp;ndash;address&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; add --account you@example.com --address sales@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; add --account you@example.com --catch-all --address example.net&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias/"&gt;perch alias&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch alias remove</title><link>https://perch.mxraven.com/docs/cli/perch-alias-remove/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-alias-remove/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch alias remove [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Remove an alias address or catch-all from the address table. Messages already delivered are unaffected.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--address &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;alias address&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; remove --address sales@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias/"&gt;perch alias&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch alias list</title><link>https://perch.mxraven.com/docs/cli/perch-alias-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-alias-list/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch alias list [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;List the addresses and catch-all domains assigned to an account.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--account &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch &lt;span style="color:#ff5c57"&gt;alias&lt;/span&gt; list --account you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias/"&gt;perch alias&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mailbox</title><link>https://perch.mxraven.com/docs/cli/perch-mailbox/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mailbox/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mailbox [OPTIONS] COMMAND&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Inspect mailbox metadata stored in SQLite. This reads the local database directly and does not require serve to be running.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The mailbox command is local-only; use &lt;code&gt;perch mail list&lt;/code&gt; for a remote IMAP server.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="commands"&gt;Commands&lt;a class="anchor" href="#commands"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mailbox-list/"&gt;perch mailbox list&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list mailboxes for an account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mailbox list --account you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mailbox-list/"&gt;perch mailbox list&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mailbox list</title><link>https://perch.mxraven.com/docs/cli/perch-mailbox-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mailbox-list/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mailbox list [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Print each mailbox name, special-use attribute, and subscription state for an account.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--account &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mailbox list --account you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mailbox/"&gt;perch mailbox&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mail</title><link>https://perch.mxraven.com/docs/cli/perch-mail/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mail/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail [OPTIONS] COMMAND&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The mail command group is a scriptable IMAP and SMTP client. list, search, and fetch talk IMAP; send talks SMTP; caps prints the SMTP EHLO extensions of a submission server.&lt;/p&gt;&#10;&lt;p&gt;Credentials and TLS flags are shared. IMAP flags are local to list/search/fetch; SMTP flags are local to send/caps.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;If &amp;ndash;server or &amp;ndash;smtp-server is omitted, the matching listener is taken from &amp;ndash;config.&lt;/li&gt;&#10;&lt;li&gt;Use &amp;ndash;plaintext or &amp;ndash;smtp-plaintext only for trusted loopback listeners.&lt;/li&gt;&#10;&lt;li&gt;Password sources: &amp;ndash;password-file, &amp;ndash;password-stdin, PERCH_IMAP_PASSWORD, or an interactive prompt.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--username, -u &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account username (env PERCH_IMAP_USER)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password (prefer PERCH_IMAP_PASSWORD or &amp;ndash;password-file)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from a file&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-stdin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from stdin&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--timeout &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connection timeout (default: 30s)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="commands"&gt;Commands&lt;a class="anchor" href="#commands"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-list/"&gt;perch mail list&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list mailboxes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-search/"&gt;perch mail search&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;search message metadata&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-fetch/"&gt;perch mail fetch&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fetch raw messages&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-send/"&gt;perch mail send&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;compose and send a message&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-caps/"&gt;perch mail caps&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show the SMTP extensions advertised by a submission server&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail list --server imaps://mail.example.com --username you@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail search -q &lt;span style="color:#5af78e"&gt;&amp;#39;unseen from:alice&amp;#39;&lt;/span&gt; --json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch -q &lt;span style="color:#5af78e"&gt;&amp;#39;from:alice&amp;#39;&lt;/span&gt; --format mbox &amp;gt; alice.mbox&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send --from you@example.com --to alice@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --subject Hello --body &lt;span style="color:#5af78e"&gt;&amp;#39;Hi Alice&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="environment"&gt;Environment&lt;a class="anchor" href="#environment"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Variable&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Purpose&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_USER&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;default account username&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_PASSWORD&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-caps/"&gt;perch mail caps&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-fetch/"&gt;perch mail fetch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-list/"&gt;perch mail list&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-search/"&gt;perch mail search&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail-send/"&gt;perch mail send&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mail list</title><link>https://perch.mxraven.com/docs/cli/perch-mail-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mail-list/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail list [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;List mailboxes on the selected IMAP server. The default output is a table; &amp;ndash;json writes one JSON object per line.&lt;/p&gt;&#10;&lt;p&gt;Aliases: &lt;code&gt;ls&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;ndash;subscribed requires server support for LIST-EXTENDED.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--username, -u &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account username (env PERCH_IMAP_USER)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password (prefer PERCH_IMAP_PASSWORD or &amp;ndash;password-file)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from a file&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-stdin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from stdin&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--timeout &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connection timeout (default: 30s)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;write one JSON object per mailbox&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--subscribed&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;only list subscribed mailboxes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--server, -s &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IMAP server (imaps://host, imap://host, or host[:port]); defaults from &amp;ndash;config&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--plaintext&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connect to IMAP without TLS (use only on trusted networks)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--starttls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;require STARTTLS for IMAP&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--insecure&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;skip IMAP TLS certificate verification&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--ca-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PEM CA bundle used to verify the IMAP server certificate&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail list --server 127.0.0.1:1143 --plaintext --username you@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail list --server imaps://mail.example.com --username you@example.com --json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="environment"&gt;Environment&lt;a class="anchor" href="#environment"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Variable&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Purpose&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_USER&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;default account username&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_PASSWORD&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail/"&gt;perch mail&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mail search</title><link>https://perch.mxraven.com/docs/cli/perch-mail-search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mail-search/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail search [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Search a mailbox with IMAP SEARCH and print metadata for matching messages. Results are newest first by default; &amp;ndash;reverse flips the order.&lt;/p&gt;&#10;&lt;p&gt;Bare query words search the message text. Supported keys: from, to, cc, bcc, subject, body, text, header:Name=Value, since, before, on, sent-since, sent-before, sent-on, seen, unseen, answered, unanswered, flagged, unflagged, deleted, undeleted, draft, undraft, larger, smaller, uid, flag/keyword, and unflag/unkeyword.&lt;/p&gt;</description></item><item><title>perch mail fetch</title><link>https://perch.mxraven.com/docs/cli/perch-mail-fetch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mail-fetch/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Fetch complete RFC 5322 messages selected by UID, query, or &amp;ndash;all. The default format writes one .eml per message when &amp;ndash;dest is a directory, or raw bytes to stdout for a single message.&lt;/p&gt;&#10;&lt;p&gt;mbox writes a standard mbox stream. maildir creates tmp/new/cur and preserves message flags.&lt;/p&gt;&#10;&lt;p&gt;Aliases: &lt;code&gt;get&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;BODY.PEEK[] is used unless &amp;ndash;mark-seen is set.&lt;/li&gt;&#10;&lt;li&gt;Writing eml to stdout requires exactly one message.&lt;/li&gt;&#10;&lt;li&gt;&amp;ndash;dest is a directory for eml/maildir and a file for mbox.&lt;/li&gt;&#10;&lt;li&gt;Existing files are not overwritten unless &amp;ndash;overwrite is passed.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--username, -u &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account username (env PERCH_IMAP_USER)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password (prefer PERCH_IMAP_PASSWORD or &amp;ndash;password-file)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from a file&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-stdin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from stdin&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--timeout &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connection timeout (default: 30s)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--mailbox, -m &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mailbox to fetch from (default: &amp;ldquo;INBOX&amp;rdquo;)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--query, -q &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;search expression&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--uids &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;explicit UID set, for example 1,3:5,10:*&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--all&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fetch every message in the mailbox&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--limit, -n &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;maximum messages (0 means unlimited) (default: 0)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--format, -f &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;eml, mbox, or maildir (default: &amp;ldquo;eml&amp;rdquo;)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--dest, -d, -o &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;destination directory (eml/maildir) or file (mbox); default stdout&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--mark-seen&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;let the server set \Seen (default uses BODY.PEEK)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--overwrite&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;overwrite an existing eml/mbox destination&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--reverse&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fetch newest first instead of oldest first&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--server, -s &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IMAP server (imaps://host, imap://host, or host[:port]); defaults from &amp;ndash;config&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--plaintext&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connect to IMAP without TLS (use only on trusted networks)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--starttls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;require STARTTLS for IMAP&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--insecure&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;skip IMAP TLS certificate verification&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--ca-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PEM CA bundle used to verify the IMAP server certificate&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch --uids &lt;span style="color:#ff9f43"&gt;42&lt;/span&gt; &amp;gt; message.eml&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch -q &lt;span style="color:#5af78e"&gt;&amp;#39;from:alice&amp;#39;&lt;/span&gt; --format mbox &amp;gt; alice.mbox&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch -q &lt;span style="color:#5af78e"&gt;&amp;#39;unseen&amp;#39;&lt;/span&gt; --format maildir --dest ~/Mail&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail fetch -q &lt;span style="color:#5af78e"&gt;&amp;#39;unseen&amp;#39;&lt;/span&gt; --dest ./messages&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="environment"&gt;Environment&lt;a class="anchor" href="#environment"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Variable&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Purpose&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_USER&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;default account username&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_PASSWORD&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail/"&gt;perch mail&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mail send</title><link>https://perch.mxraven.com/docs/cli/perch-mail-send/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mail-send/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Compose a MIME message and submit it through SMTP. Text and HTML bodies are combined as multipart/alternative; attachments wrap the result in multipart/mixed.&lt;/p&gt;&#10;&lt;p&gt;Bodies come from &amp;ndash;body/&amp;ndash;body-file and &amp;ndash;html-body/&amp;ndash;html-file, or stdin when it is not a terminal. Attachments are base64 encoded and content types are detected from the file extension or contents.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Bodies are quoted-printable unless &amp;ndash;8bitmime is set; attachments are base64.&lt;/li&gt;&#10;&lt;li&gt;SMTPUTF8 is detected from non-ASCII envelope addresses and extra headers; force it with &amp;ndash;smtputf8.&lt;/li&gt;&#10;&lt;li&gt;Bcc recipients are envelope-only and never appear in headers.&lt;/li&gt;&#10;&lt;li&gt;SIZE is sent automatically and checked against the server&amp;rsquo;s advertised limit.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--username, -u &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account username (env PERCH_IMAP_USER)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password (prefer PERCH_IMAP_PASSWORD or &amp;ndash;password-file)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from a file&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-stdin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from stdin&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--timeout &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connection timeout (default: 30s)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--from &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;sender address (default: &amp;ndash;username)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--to &amp;lt;value&amp;gt;...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;recipient address or list; repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--cc &amp;lt;value&amp;gt;...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Cc recipient address or list; repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--bcc &amp;lt;value&amp;gt;...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Bcc recipient address or list; repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--reply-to &amp;lt;value&amp;gt;...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Reply-To address or list; repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--subject, -s &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;message subject&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--body &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;plain-text body&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--body-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the plain-text body from a file (use - for stdin)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--html-body &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;HTML body&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--html-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the HTML body from a file (use - for stdin)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--attach, -a &amp;lt;value&amp;gt;...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;attach a file; repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--header, -H &amp;lt;value&amp;gt;...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;add an extra header (Name: Value); repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--in-reply-to &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Message-ID being replied to&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--references &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;space-separated Message-IDs for References&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--8bitmime&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;send UTF-8 text with BODY=8BITMIME&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtputf8&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;force SMTPUTF8 (usually detected automatically)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--dry-run, -n&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;write the composed message to stdout without sending&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--verbose, -v&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;print SMTP capabilities and delivery details to stderr&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-server, -S &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SMTP submission server (smtps://host, smtp://host, or host[:port]); defaults from &amp;ndash;config&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-plaintext&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connect to SMTP without TLS (use only on trusted networks)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-starttls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;require STARTTLS for SMTP&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-implicit-tls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;use implicit TLS for SMTP (usually port 465)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-insecure&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;skip SMTP TLS certificate verification&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-ca-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PEM CA bundle used to verify the SMTP server certificate&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send --from you@example.com --to alice@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --subject Hello --body &lt;span style="color:#5af78e"&gt;&amp;#39;Hi Alice&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#39;Body from stdin&amp;#39;&lt;/span&gt; | perch mail send --from you@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --to alice@example.com --subject Hello&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send --from you@example.com --to alice@example.com &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --subject Report --body-file message.txt --html-file message.html &lt;span style="color:#5af78e"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --attach report.pdf&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail send ... --dry-run &amp;gt; message.eml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="environment"&gt;Environment&lt;a class="anchor" href="#environment"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Variable&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Purpose&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_USER&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;default account username and sender&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;PERCH_IMAP_PASSWORD&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail/"&gt;perch mail&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch mail caps</title><link>https://perch.mxraven.com/docs/cli/perch-mail-caps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-mail-caps/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail caps [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Connect to the configured submission server, perform EHLO, and print the advertised extensions. No message is sent and no credentials are used.&lt;/p&gt;&#10;&lt;p&gt;Aliases: &lt;code&gt;capabilities&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The local perch relay advertises PIPELINING, 8BITMIME, ENHANCEDSTATUSCODES, SIZE, SMTPUTF8, STARTTLS, and AUTH on loopback or TLS.&lt;/li&gt;&#10;&lt;li&gt;It does not expose DSN, CHUNKING, BINARYMIME, REQUIRETLS, or DELIVERBY.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--username, -u &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account username (env PERCH_IMAP_USER)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;account password (prefer PERCH_IMAP_PASSWORD or &amp;ndash;password-file)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from a file&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--password-stdin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;read the account password from stdin&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--timeout &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connection timeout (default: 30s)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-server, -S &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;SMTP submission server (smtps://host, smtp://host, or host[:port]); defaults from &amp;ndash;config&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-plaintext&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;connect to SMTP without TLS (use only on trusted networks)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-starttls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;require STARTTLS for SMTP&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-implicit-tls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;use implicit TLS for SMTP (usually port 465)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-insecure&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;skip SMTP TLS certificate verification&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--smtp-ca-file &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PEM CA bundle used to verify the SMTP server certificate&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail caps&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail caps --smtp-server smtp.mxraven.email:587&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail/"&gt;perch mail&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch doctor</title><link>https://perch.mxraven.com/docs/cli/perch-doctor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-doctor/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch doctor [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Run integrity and connectivity checks for SQLite/FTS5, TLS certificate files, DNS, S3, and configured mxRaven listeners. The command exits non-zero when a check fails.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Run as the same user that runs serve so file permissions match.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch doctor --config /etc/perch/perch.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch backup</title><link>https://perch.mxraven.com/docs/cli/perch-backup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-backup/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch backup [OPTIONS] &amp;lt;destination.db&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Use SQLite&amp;rsquo;s online backup API to write a consistent copy while serve is running. The destination must not already exist.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Safe alongside serve because SQLite WAL mode allows concurrent readers and writers.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch backup --config /etc/perch/perch.yaml /var/lib/perch/backups/perch-&lt;span style="color:#ff6ac1"&gt;$(&lt;/span&gt;date +%F&lt;span style="color:#ff6ac1"&gt;)&lt;/span&gt;.db&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch reconcile</title><link>https://perch.mxraven.com/docs/cli/perch-reconcile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-reconcile/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch reconcile [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Scan the configured S3 bucket and bind objects written by mxRaven to local message metadata. Requires storage.mode=s3.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;serve runs this at startup and every storage.s3.reconcile_every (default 5m).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch reconcile --config /etc/perch/perch.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch gc</title><link>https://perch.mxraven.com/docs/cli/perch-gc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-gc/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch gc [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Remove orphaned local blobs, dead letters older than &amp;ndash;dead-letter-age, enforce the S3 spool limit, and optionally delete S3 objects for deleted messages. An incremental vacuum runs by default.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&amp;ndash;s3-delete is ignored in SQLite mode.&lt;/li&gt;&#10;&lt;li&gt;Without &amp;ndash;s3-delete, S3 tombstones accumulate.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--dry-run&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;report what would be removed&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--s3-delete&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;delete S3 objects for deleted messages&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--dead-letter-age &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;delete dead letters older than this (default: 720h0m0s)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--vacuum&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;run incremental vacuum after cleanup&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--spool&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;enforce storage.s3.spool_max_bytes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch gc --config /etc/perch/perch.yaml --dry-run&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch gc --config /etc/perch/perch.yaml --s3-delete&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch outbound</title><link>https://perch.mxraven.com/docs/cli/perch-outbound/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-outbound/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch outbound [OPTIONS] COMMAND&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Inspect the outbound table populated by the submission relay. It shows acceptance and later delivery attempts reported by mxRaven.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="commands"&gt;Commands&lt;a class="anchor" href="#commands"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-outbound-list/"&gt;perch outbound list&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list submitted messages&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch outbound list --account you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-outbound-list/"&gt;perch outbound list&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch outbound list</title><link>https://perch.mxraven.com/docs/cli/perch-outbound-list/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-outbound-list/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch outbound list [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Print recent outbound submissions, optionally filtered by account. &amp;ndash;limit defaults to 100.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--config &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;configuration file (default: ~/.config/perch/perch.yaml)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--account &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;filter by account email&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--limit &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;maximum rows (default: 100)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch outbound list --limit &lt;span style="color:#ff9f43"&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-outbound/"&gt;perch outbound&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch version</title><link>https://perch.mxraven.com/docs/cli/perch-version/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch-version/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch version [OPTIONS]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Print the version embedded at build time, or the module version for go install builds.&lt;/p&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch/"&gt;perch&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>perch</title><link>https://perch.mxraven.com/docs/cli/perch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://perch.mxraven.com/docs/cli/perch/</guid><description>&lt;!-- Code generated by cmd/gen-docs; DO NOT EDIT. --&gt;&#10;&lt;h2 id="synopsis"&gt;Synopsis&lt;a class="anchor" href="#synopsis"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch [OPTIONS] COMMAND&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="description"&gt;Description&lt;a class="anchor" href="#description"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;perch runs a local IMAP server and authenticated submission endpoint, backed by mxRaven for inbound MX, outbound delivery, SPF/DKIM/DMARC, IP reputation, and spam filtering.&lt;/p&gt;&#10;&lt;p&gt;Messages are stored in SQLite or offloaded to S3. The same binary provides administrative commands and a scriptable mail client for IMAP and SMTP.&lt;/p&gt;&#10;&lt;h2 id="notes"&gt;Notes&lt;a class="anchor" href="#notes"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Run &lt;code&gt;perch help &amp;lt;command&amp;gt;&lt;/code&gt; or see the per-command manpages for details.&lt;/li&gt;&#10;&lt;li&gt;The default configuration path is &lt;code&gt;$XDG_CONFIG_HOME/perch/perch.yaml&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;perch does not need a public IP, port forwarding, or inbound SMTP ports.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Option&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--help, -h&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;show help&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--version, -v&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;print the version&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="commands"&gt;Commands&lt;a class="anchor" href="#commands"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-init/"&gt;perch init&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;create a local configuration and optional first account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-setup/"&gt;perch setup&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;create the mxRaven domain, listeners, keys, and routes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-serve/"&gt;perch serve&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;run IMAP, submission, and the notification consumer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;add, list, password, disable, or enable accounts&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias/"&gt;perch alias&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;manage address aliases and catch-all domains&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mailbox/"&gt;perch mailbox&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list mailboxes for an account&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail/"&gt;perch mail&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list, search, fetch, and send mail&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-doctor/"&gt;perch doctor&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;check the database, TLS, S3, and mxRaven connectivity&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-backup/"&gt;perch backup&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;write a consistent SQLite backup&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-reconcile/"&gt;perch reconcile&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;force one S3 bucket reconciliation pass&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-gc/"&gt;perch gc&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;remove orphan blobs, old dead letters, and S3 tombstones&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-outbound/"&gt;perch outbound&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;list submitted messages and delivery status&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-version/"&gt;perch version&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;print the version&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="anchor" href="#examples"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch setup --workspace my-workspace --domain example.com --hostname localhost&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch account add --email you@example.com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch serve --config ~/.local/share/perch/perch.yaml&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;perch mail list --server 127.0.0.1:1143 --plaintext --username you@example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="see-also"&gt;See also&lt;a class="anchor" href="#see-also"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-account/"&gt;perch account&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-alias/"&gt;perch alias&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-backup/"&gt;perch backup&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-doctor/"&gt;perch doctor&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-gc/"&gt;perch gc&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-init/"&gt;perch init&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mail/"&gt;perch mail&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-mailbox/"&gt;perch mailbox&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-outbound/"&gt;perch outbound&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-reconcile/"&gt;perch reconcile&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-serve/"&gt;perch serve&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-setup/"&gt;perch setup&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://perch.mxraven.com/docs/cli/perch-version/"&gt;perch version&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item></channel></rss>