DripDrop uses explicit policy flags instead of broad mode labels. Each sequence step can opt into the rules it needs.
Unsubscribe Headers
Email steps can opt into RFC 8058 headers:
%{
"unsubscribe_headers" => true
}or:
%{
"unsubscribe" => true
}When enabled, configure :unsubscribe_url_builder so the host app can return a
one-click unsubscribe URL. DripDrop inserts the RFC 8058 headers before
provider delivery.
Reply Behavior
Replies are recorded as provider events by default. To pause an enrollment after a reply:
%{
"reply_behavior" => "pause_enrollment"
}Hosts can replace the default behavior with config :dripdrop, :on_reply.
The callback can be a {Module, :function} pair or an arity-2 function called
with the normalized event and step execution.
Recipient Verification
To require the host app to mark a recipient as verified before a send:
%{
"require_verified_recipient" => true
}Dispatch checks enrollment.data["recipient_verified_at"] and skips the send
when it is missing.
Daily Caps
Daily caps defer sends after a sender mailbox reaches its configured limit:
%{
"sending_rules" => %{
"daily_cap" => 50,
"timezone" => "America/New_York"
}
}Caps may be set on the step or adapter, either under "sending_rules" or as a
flat "daily_cap" value. Step config wins when both are present. Invalid caps
fall back to 50 and valid caps are capped at 500.