laravel: 如何从数据库设置 smtp 设置
laravel: how to set smtp settings from database
我想使用数据库中存储的数据在控制器中设置 smtp 端口、用户、密码、主机
public function update(Request $request)
{
Config::set('mail.host', DB::table('settings')->find(4)->val);
Config::set('mail.username', DB::table('settings')->find(2)->val);
Config::set('mail.password', DB::table('settings')->find(3)->val);
Config::set('mail.port', DB::table('settings')->find(5)->val);
if($request->email_test !== null) {
Mail::send(new MailTesting());
}
}
但是从 .env 设置了邮件配置
当从环境中删除此行时:
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=9ed941b3d4e2d6m
MAIL_PASSWORD=d13ea2a29a5ceem
我显示这个错误:
Expected response code 250 but got code "550", with message "550 5.7.1 Relaying denied"
如何解决这个问题
Config::set()
中的键与config\mail.php
(默认标准文件)中的键不对应,尝试更改键以对应标准默认文件
public function update(Request $request)
{
Config::set('mail.mailers.smtp.host', DB::table('settings')->find(4)->val);
Config::set('mail.mailers.smtp.username', DB::table('settings')->find(2)->val);
Config::set('mail.mailers.smtp.password', DB::table('settings')->find(3)->val);
Config::set('mail.mailers.smtp.port', DB::table('settings')->find(5)->val);
if($request->email_test !== null) {
Mail::send(new MailTesting());
}
}
我想使用数据库中存储的数据在控制器中设置 smtp 端口、用户、密码、主机
public function update(Request $request)
{
Config::set('mail.host', DB::table('settings')->find(4)->val);
Config::set('mail.username', DB::table('settings')->find(2)->val);
Config::set('mail.password', DB::table('settings')->find(3)->val);
Config::set('mail.port', DB::table('settings')->find(5)->val);
if($request->email_test !== null) {
Mail::send(new MailTesting());
}
}
但是从 .env 设置了邮件配置 当从环境中删除此行时:
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=9ed941b3d4e2d6m
MAIL_PASSWORD=d13ea2a29a5ceem
我显示这个错误:
Expected response code 250 but got code "550", with message "550 5.7.1 Relaying denied"
如何解决这个问题
Config::set()
中的键与config\mail.php
(默认标准文件)中的键不对应,尝试更改键以对应标准默认文件
public function update(Request $request)
{
Config::set('mail.mailers.smtp.host', DB::table('settings')->find(4)->val);
Config::set('mail.mailers.smtp.username', DB::table('settings')->find(2)->val);
Config::set('mail.mailers.smtp.password', DB::table('settings')->find(3)->val);
Config::set('mail.mailers.smtp.port', DB::table('settings')->find(5)->val);
if($request->email_test !== null) {
Mail::send(new MailTesting());
}
}