Optionallogger: ILoggerWrite the message where the application writes everything else.
The rendered notification.
Who it was for.
Sent, because writing it down is all this channel promises.
StaticcreateNames the channel.
Optionallogger: ILogger
Where the message goes, when one is bound.
A channel.
The channel that delivers nothing, and is honest about it.
The zero-config default, so an application can call
notify()on its first day and watch what it would have sent. It is the right choice in development and in a test, and it is not a channel anywhere else: nobody receives anything.It exists rather than defaulting to a real one because a default that quietly sent real mail would send it from the first test run, to real people. The notifier says once, in a warning, that this is what is configured, for the same reason: a module that delivers nothing must not look like one that delivers.