在laravel 5.5.4中,我想要一个特定的功能,通过.env
文件中提到的其他邮件设置发送邮件。
我尝试过搜索,但swift
提到的大多数地方现已弃用。
答案 0 :(得分:0)
在发送电子邮件之前,只需致电config()->set("mail.driver", $driver)
:
public function sendNonEnvEmail(){
// If you want to log this email instead of sending it
config()->set("mail.driver", "log");
\Mail::send(...);
}
现在我不确定您是否需要在此之后重置电子邮件驱动程序,但如果是这种情况,您可以调用以下操作:
\Mail::send(...);
config()->set("mail.driver", env("MAIL_DRIVER", "smtp"));
这会将驱动程序重置为.env
文件中的默认值,或smtp
未设置MAIL_DRIVER
。
- 编辑 -
在运行时设置的配置值仅为当前请求设置,不会转移到后续请求。
因此不需要重置它,但如果您需要在请求中发送多封电子邮件,则可能需要这样做,具体取决于电子邮件的顺序。