pub struct EmailQueue { /* private fields */ }Expand description
Email queue manager
Implementations§
Source§impl EmailQueue
impl EmailQueue
pub fn new() -> Self
Sourcepub fn enqueue(&mut self, email: QueuedEmail)
pub fn enqueue(&mut self, email: QueuedEmail)
Adds email to queue
Sourcepub fn next(&mut self) -> Option<QueuedEmail>
pub fn next(&mut self) -> Option<QueuedEmail>
Gets next pending email
Sourcepub fn mark_sent(&mut self, email: QueuedEmail)
pub fn mark_sent(&mut self, email: QueuedEmail)
Marks email as sent
Sourcepub fn mark_failed(&mut self, email: QueuedEmail, error: String)
pub fn mark_failed(&mut self, email: QueuedEmail, error: String)
Marks email as failed and retry if attempts remaining
Sourcepub fn stats(&self) -> QueueStats
pub fn stats(&self) -> QueueStats
Gets queue statistics
Sourcepub async fn process(&mut self, client: &mut SmtpClient) -> Result<()>
pub async fn process(&mut self, client: &mut SmtpClient) -> Result<()>
Processes queue with SMTP client
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EmailQueue
impl RefUnwindSafe for EmailQueue
impl Send for EmailQueue
impl Sync for EmailQueue
impl Unpin for EmailQueue
impl UnwindSafe for EmailQueue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more