mailer method

MailerInterface mailer([
  1. String? name
])

Gets a mailer instance by name.

If not specified, returns the default mailer.

Implementation

MailerInterface mailer([String? name]) {
  final mailerName = name ?? _defaultMailer ?? 'smtp';

  // Return cached mailer if available
  if (_mailers.containsKey(mailerName)) {
    return _mailers[mailerName]!;
  }

  // Get or create transport
  final transport = _transports[mailerName];
  if (transport == null) {
    throw MailConfigException('Mail transport "$mailerName" not registered');
  }

  // Create new mailer
  final mailer = Mailer(
    transport,
    queueManager: _queueManager,
    defaultFrom: _defaultFrom,
  );

  _mailers[mailerName] = mailer;
  return mailer;
}