Laravel 5.3 如何在运行时使用和切换多个邮件驱动程序?
How to use and switch at runtime multiple mail drivers in Laravel 5.3?
有时我们需要使用多个邮件驱动来覆盖不同的区域,但现在Laravel 5.3
只支持一个,我们如何扩展它以支持更多的邮件驱动并能够在运行时切换驱动?
与所有 Laravel classes 一样,邮件程序实现标准 laravel 接口:
class Mailer implements MailerContract, MailQueueContract
{
...
}
如果你想创建自己的邮件程序,那么你需要做的就是在你自己的中实现合约 class:
class MyMailer implements MailerContract, MailQueueContract
{
}
要使用这些不同的邮件程序,您需要覆盖 MailServiceProvider
class 中的 register()
函数以 return 您需要的邮件程序实例。
有时我们需要使用多个邮件驱动来覆盖不同的区域,但现在Laravel 5.3
只支持一个,我们如何扩展它以支持更多的邮件驱动并能够在运行时切换驱动?
与所有 Laravel classes 一样,邮件程序实现标准 laravel 接口:
class Mailer implements MailerContract, MailQueueContract
{
...
}
如果你想创建自己的邮件程序,那么你需要做的就是在你自己的中实现合约 class:
class MyMailer implements MailerContract, MailQueueContract
{
}
要使用这些不同的邮件程序,您需要覆盖 MailServiceProvider
class 中的 register()
函数以 return 您需要的邮件程序实例。