proton mail drafts
Messages not yet sent.
Every command under proton mail drafts, with the arguments and flags it takes. For these commands in use, see the mail guide.
Holds create, delete, list, send and update.
create
Section titled “create”Save a draft without sending it.
proton mail drafts createproton mail drafts create --to team@example.com --subject Standup --body 'Notes to follow.'proton mail drafts create --to jane@example.com --subject Report --attach ./report.pdf| Flag | Description |
|---|---|
--attach stringArray |
File to attach (repeatable) |
--attach-inline stringArray |
Image to embed in the HTML body by Content-ID (repeatable; needs –html) |
--bcc stringArray |
Blind-carbon-copy recipient (repeatable) |
--body string |
Message body (- reads stdin) |
--cc stringArray |
Carbon-copy recipient (repeatable) |
--eml string |
Build the message from an RFC 822 file; other flags override what it says |
--from string |
Address to send from, by email or ID (default: your primary) |
--html |
Treat the body as HTML rather than plain text |
--no-signature |
Leave out this address’s signature and Proton’s footer |
--request-receipt |
Ask the recipients to confirm when they read it |
--subject string |
Subject line |
--to stringArray |
Recipient (repeatable; accepts “Name |
delete
Section titled “delete”Delete drafts.
proton mail drafts delete REF...proton mail drafts delete 5bH2mQxKList drafts.
Newest first, or largest first with –sort size; –desc reverses either.
proton mail drafts listproton mail drafts listproton mail drafts list --sort size| Flag | Description |
|---|---|
--desc |
Reverse the order |
--limit int |
How many drafts per page; 0 for all of them (default 25) |
--page int |
Which page of results, counting from zero |
--sort string |
Order by: time, size (default time) |
Send a draft as it stands.
No signature is appended: the draft already holds whatever signature it was created with.
proton mail drafts send REFproton mail drafts send 5bH2mQxKproton mail drafts send 5bH2mQxK --send-at 2026-04-16T09:00| Flag | Description |
|---|---|
--eo-password-file string |
Read the password for recipients outside Proton from a file, or - for stdin |
--eo-password-hint string |
Hint shown to password-protected recipients |
--expires string |
Self-destruct after DURATION (e.g. 7d, 24h), or never |
--send-at string |
Schedule delivery (RFC 3339, or YYYY-MM-DDTHH:MM in the zone you are working in) |
update
Section titled “update”Change a draft. Only what you pass is replaced; everything else is kept.
–to, –cc and –bcc replace the whole list rather than adding to it. –attach adds files and –detach removes one by name or ID.
proton mail drafts update REFproton mail drafts update 5bH2mQxK --body 'Notes attached.'proton mail drafts update 5bH2mQxK --detach report.pdf| Flag | Description |
|---|---|
--attach stringArray |
File to attach (repeatable) |
--attach-inline stringArray |
Image to embed in the HTML body by Content-ID (repeatable; needs –html) |
--bcc stringArray |
Blind-carbon-copy recipient (repeatable) |
--body string |
Message body (- reads stdin) |
--cc stringArray |
Carbon-copy recipient (repeatable) |
--detach stringArray |
Remove an attachment by name or ID (repeatable) |
--from string |
Address to send from, by email or ID (default: your primary) |
--html |
Switch the draft to HTML; –html=false switches it to plain text |
--no-signature |
Leave out this address’s signature and Proton’s footer |
--request-receipt |
Ask the recipients to confirm when they read it; –request-receipt=false takes the request off |
--subject string |
Subject line |
--to stringArray |
Recipient (repeatable; accepts “Name |
Every command also takes the flags that work everywhere.