Module Async_smtp__.Message_spool
type t
= Async_smtp__.Message.On_disk_spool.t
type spool
= t
val load : string -> t Async.Deferred.Or_error.t
val create : string -> t Async.Deferred.Or_error.t
module Entry : sig ... end
val uncheckout_all_entries : t -> ([ `Recovered of string list ] * [ `Errors of Core.Error.t option ]) Async.Deferred.t
Move all checked out entries back to their original queues. This command is useful to run on startup to recover from an unclean shutdown. Returns the list of entries that were recovered along with any errors that occurred.
val ls : t -> Async_smtp__.Message.Queue.t list -> Entry.t list Core.Or_error.t Async.Deferred.t
val enqueue : t -> log:Async_smtp__.Mail_log.t -> initial_status:Async_smtp__.Message.Status.t -> Async_smtp_types.Smtp_envelope.Routed.Batch.t -> flows:Async_smtp__.Mail_log.Flows.t -> original_msg:Async_smtp_types.Smtp_envelope.t -> (Async_smtp__.Message.t * Async_smtp_types.Smtp_envelope.Routed.t) list Core.Or_error.t Async.Deferred.t
The Deferred becomes determined once the messages have been synced to disk.
val send : Async_smtp__.Message.t -> log:Async_smtp__.Mail_log.t -> client_cache:Async_smtp__.Client_cache.t -> [ `Delivered | `Failed of Core.Error.t ] Core.Or_error.t Async.Deferred.t
send message ~log ~client_cache
attempts delivery ofmessage
using the suppliedclient_cache
for connections.The outer
Error.t
in the result is used for unexpected errors.`Delivered | `Failed of Error.t
describes the delivery attempt.
val freeze : Async_smtp__.Message.t -> log:Async_smtp__.Mail_log.t -> unit Core.Or_error.t Async.Deferred.t
val mark_for_send_now : retry_intervals:Async_smtp_types.Smtp_envelope.Retry_interval.t list -> Async_smtp__.Message.t -> log:Async_smtp__.Mail_log.t -> unit Core.Or_error.t Async.Deferred.t
Change a message's status to
`Send_now
.retry_intervals
are added in front of the existing ones.
val remove : Async_smtp__.Message.t -> log:Async_smtp__.Mail_log.t -> unit Core.Or_error.t Async.Deferred.t
module On_disk_monitor : sig ... end