#php #laravel #email #smtp
#php #laravel #Адрес электронной почты #smtp
Вопрос:
я хочу использовать данные, хранящиеся в базе данных, для установки порта 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
при удалении этой строки из 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"
как решить эту проблему
Комментарии:
1. В настройках таблицы базы данных у вас также есть те же учетные данные mailtrap?
2. @sta да……..
3. Укажите значение и попробуйте, как
Config::set('mail.port', 587);
и дайте мне знать результат4.
Config::set('mail.host', 'smtp.mailtrap.io'); Config::set('mail.username', '9ed941b3d4e2d6'); Config::set('mail.password', 'd13ea2a29a5cee'); Config::set('mail.port', 2525);
по умолчанию загружается конфигурация из .env и при удалении env отображается эта ошибка:Expected response code 250 but got code "550", with message "550 5.7.1 Relaying denied
Ответ №1:
Ключи в Config::set()
не соответствуют ключам в configmail.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());
}
}