dispatch_mail_outbox

Function dispatch_mail_outbox 

Source
pub async fn dispatch_mail_outbox<R, E, List, ListFut, Claim, ClaimFut, Deliver, DeliverFut, MarkSent, MarkSentFut, MarkRetry, MarkRetryFut, MarkFailed, MarkFailedFut, OnSent, OnSentFut, OnFailed, OnFailedFut>(
    config: &MailOutboxDispatchConfig,
    list_claimable: List,
    try_claim: Claim,
    deliver: Deliver,
    mark_sent: MarkSent,
    mark_retry: MarkRetry,
    mark_failed: MarkFailed,
    on_sent: OnSent,
    on_failed: OnFailed,
) -> Result<DispatchStats, E>
where R: MailOutboxDispatchRow, E: Display, List: FnMut(u64, i64) -> ListFut, ListFut: Future<Output = Result<Vec<R>, E>>, Claim: FnMut(i64) -> ClaimFut, ClaimFut: Future<Output = Result<bool, E>>, Deliver: FnMut(R) -> DeliverFut, DeliverFut: Future<Output = Result<String, E>>, MarkSent: FnMut(i64, usize) -> MarkSentFut, MarkSentFut: Future<Output = Result<bool, E>>, MarkRetry: FnMut(i64, i32, i64, String) -> MarkRetryFut, MarkRetryFut: Future<Output = Result<bool, E>>, MarkFailed: FnMut(i64, i32, String) -> MarkFailedFut, MarkFailedFut: Future<Output = Result<bool, E>>, OnSent: FnMut(MailOutboxDispatchContext, i32, String) -> OnSentFut, OnSentFut: Future<Output = ()>, OnFailed: FnMut(MailOutboxDispatchContext, i32, String) -> OnFailedFut, OnFailedFut: Future<Output = ()>,
Expand description

Runs one mail outbox dispatch pass using product-provided persistence callbacks.

Forge owns the control flow and retry classification. Product crates own time calculation, repository calls, template rendering, mail auditing, and error types.

ยงErrors

Returns the product callback error when listing, claiming, delivery, or outcome persistence fails.