Raised when mailglass is misconfigured.
Configuration errors are never retryable — the host application must
fix the configuration and restart. Mailglass.Config.validate_at_boot!/0
(lands in Plan 03) raises this at application startup.
Types
:missing— a required configuration key is not set:invalid— a key is present but the value is invalid:conflicting— two or more keys contradict each other:optional_dep_missing— an optional dependency is required for the selected configuration but is not loaded:tracking_on_auth_stream— open/click tracking is enabled on a mailable whose function name matches an auth-stream heuristic (D-38). Forbidden.:tracking_host_missing— a mailable enables opens or clicks but no tracking host is configured (D-32). Required for link rewriting.:tracking_endpoint_missing— tracking is enabled but no Phoenix.Token endpoint is configured. Setconfig :mailglass, :tracking, endpoint:orconfig :mailglass, :adapter_endpointto enable open/click tracking.:webhook_verification_key_missing— a webhook provider is configured but its verification credentials are not set (Postmarkbasic_auth, SendGridpublic_key). Phase 4 D-21.:webhook_caching_body_reader_missing— the webhook plug received a request withconn.private[:raw_body]unset, meaning the adopter has not wiredMailglass.Webhook.CachingBodyReaderinto theirPlug.Parsers:body_reader. Phase 4 D-21 / revision B4.
See Mailglass.Error for the shared contract and docs/api_stability.md
for the locked :type atom set.
Summary
Functions
Returns the closed set of valid :type atoms. Tested against docs/api_stability.md.
Build a Mailglass.ConfigError struct.
Types
@type t() :: %Mailglass.ConfigError{ __exception__: true, cause: Exception.t() | nil, context: %{required(atom()) => term()}, message: String.t(), type: :missing | :invalid | :conflicting | :optional_dep_missing | :tracking_on_auth_stream | :tracking_host_missing | :tracking_endpoint_missing | :webhook_verification_key_missing | :webhook_caching_body_reader_missing }
Functions
@spec __types__() :: [atom()]
Returns the closed set of valid :type atoms. Tested against docs/api_stability.md.
Build a Mailglass.ConfigError struct.
Options
:cause— an underlying exception to wrap (kept out of JSON output).:context— a map of non-PII metadata;:keyis used for:missing/:invalidmessages,:depfor:optional_dep_missing.