MailAgentReplyResult mail.agent-reply-result@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/mail/agent-reply-result.v1.json
mail.agent.reply-result@1: what mail.agent.reply answers once the mail server took the message. `sent` is false when the mail server refused it (the answer's `reason` says why in plain words) and true when it accepted it — a relay's later bounce is not knowable here and is not claimed. `message_id` is the mail server's id for the sent message when it answers with one; `rfc_message_id` is the Message-ID header the reply carries, which a later letter in the thread will name in its In-Reply-To.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sent | boolean | yes | True when the mail server accepted the reply, false when it did not. | |
message_id | string | null | The mail server's id for the sent message. |
| |
rfc_message_id | string | null | The Message-ID header of the reply, without angle brackets. |
| |
reason | string | null | Why the reply was not sent, in plain words. Null when sent is true. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: refused
{
"sent": false,
"message_id": null,
"rfc_message_id": null,
"reason": "The mail server refused the message: the recipient does not exist."
}Valid: sent
{
"sent": true,
"message_id": "m-4720",
"rfc_message_id": "[email protected]",
"reason": null
}Rejected: claims-a-bounce
{
"sent": true,
"message_id": "m-4720",
"rfc_message_id": "[email protected]",
"reason": null,
"bounced_at": "2026-11-07T13:00:00Z",
"delivered": true
}Rejected: claims-delivery
{
"delivered": true,
"message_id": "m-4720"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('mail.agent-reply-result@1', value); // { valid, errors: [{ path, message }] }