queueMailable method

  1. @override
Future<void> queueMailable(
  1. Mailable mailable, [
  2. Duration? delay
])
override

Queues a Mailable instance.

Implementation

@override
Future<void> queueMailable(Mailable mailable, [Duration? delay]) async {
  if (_queueManager == null) {
    throw MailException('Queue manager not configured');
  }

  // Build the mail using the mailable
  await mailable.build(this);

  // Validate before queuing
  _message.validate();

  // Create a queue job for this mailable
  final job = _MailableJob(mailable, _message.copy(), _transport);

  await _queueManager.dispatch(job, delay: delay);
}