2016-11-08 9 views
1

Когда-нибудь нам нужно использовать несколько почтовых драйверов для покрытия разных областей, но теперь Laravel 5.3 поддерживает только один способ, как мы можем его расширить, чтобы поддерживать больше почтовых драйверов и иметь возможность переключать драйверы во время выполнения?Как использовать и переключаться во время работы нескольких драйверов почты в Laravel 5.3?

ответ

0

Как и все классы Laravel, почтовая программа реализует стандартные Laravel интерфейсы:

class Mailer implements MailerContract, MailQueueContract 
{ 
    ... 
} 

Если вы хотите создать свои собственные почтовые программы, то все, что вам нужно сделать, это реализовать контракты в своем собственном классе:

class MyMailer implements MailerContract, MailQueueContract 
{ 

} 

Чтобы использовать эти разные почтовые программы, вам необходимо переопределить функцию register() в классе MailServiceProvider, чтобы вернуть требуемый экземпляр почтовой программы.