I am trying to override the default implementation of Mailer in IlluminateMailMailServiceProvider. At first, I thought that I will just extend the service and switch the implementation in the container followingly: AppMailMailer AppProvidersAppServiceProvider The problem is that even though I’ve overridden the container definition when resolving the service it ignores my definition completely because IlluminateMailMailServiceProvider has $defer = true property,