skrzynka message/reply
Send one explicit plain-text reply through the exact mailbox that received the stored inbound message, with idempotency protection.
Invocation#
skrzynka message reply <ID> --body-file <BODY_FILE> [--idempotency-key <IDEMPOTENCY_KEY>]Purpose#
Send one explicit plain-text reply through the exact mailbox that received the stored inbound message, with idempotency protection.
Inputs and options#
| Input or option | Required | Meaning |
|---|---|---|
<ID> | Yes | Stored inbound message UUID. |
--body-file <BODY_FILE> | Yes | Readable regular UTF-8 file; trimmed body must not be empty. The SMTP server accepts or refuses its size. |
--idempotency-key <IDEMPOTENCY_KEY> | No | Non-whitespace characters. Omission generates a new UUID for this invocation. |
Global options accepted on this path are --organization <ID> (required on every command except serve, version and onboarding; none is assumed), --skarbiec-bin <PATH> (default skarbiec) and --text (print results as path: value lines for people instead of JSON).
Output and state effect#
Creates a reply attempt, resolves the message's mailbox credential, preserves thread headers, and sends through that mailbox's SMTP endpoint. SMTP acceptance returns a sent attempt. Reusing the same key with the identical message/body returns the existing attempt without sending again. Lost terminal SMTP evidence returns an uncertain attempt with stored REPLY_UNCERTAIN; callers must inspect provider Sent mail and must not resend automatically.
Refusals#
- Missing
<ID>/--body-fileor invalid UUID syntax is refused by Clap with exit 2. REPLY_FILE_INVALID:message body file could not be read,message body file must be a regular file, ormessage body file must contain valid UTF-8 text. One helper reads the body file for both send paths, so the sentences are identical to message send; only the code differs,OUTBOUND_FILE_INVALIDthere.REPLY_BODY_INVALID:reply body must not be empty;IDEMPOTENCY_KEY_INVALID:idempotency_key must contain non-whitespace characters only.NOT_FOUND:message was not found;IDEMPOTENCY_KEY_REUSED:idempotency key already belongs to a different reply request.- Credential/profile/target refusals include
SKARBIEC_ITEM_INVALID,SKARBIEC_UNAVAILABLE,SKARBIEC_TIMEOUT,MAILBOX_PROFILE_INVALID(mailbox sending address is invalid), andMESSAGE_REPLY_TARGET_INVALID(message has no valid Reply-To or From address). SMTP_TLS_FAILED:SMTP TLS configuration was rejected;SMTP_REJECTED:SMTP explicitly rejected the message: <PROVIDER_REFUSAL>, carrying the server's own refusal text because that is the only thing that says why it refused.SMTP_UNCERTAINis deliberately converted to a returneduncertainattempt rather than an exit-1 refusal.