mailer method
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;
}