From 5646226e631f13b929c59016d0d1d19f0f8d67cb Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Wed, 21 Jan 2026 18:10:12 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF?= =?utf8?q?=D0=BE=20=D0=BF=D0=BE=D1=87=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/config/console.php | 17 ++++++++++------- erp24/config/web.php | 17 ++++++++++------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/erp24/config/console.php b/erp24/config/console.php index 83e9c6c9..26215ca2 100755 --- a/erp24/config/console.php +++ b/erp24/config/console.php @@ -60,14 +60,17 @@ $config = [ // В dev-режиме письма сохраняются в файл, в prod — отправляются через SMTP //'useFileTransport' => getenv('APP_ENV') === 'development', 'useFileTransport' => false, - // SMTP-транспорт для production (настраивается через .env) - // Для SSL на порту 465 используйте scheme=smtps, для STARTTLS на 587 — smtp + // SMTP-транспорт через DSN-строку (требует URL-кодирования спецсимволов) + // Формат: smtps://user:pass@host:port 'transport' => [ - 'scheme' => getenv('MAIL_SCHEME') ?: 'smtps', - 'host' => getenv('MAIL_HOST') ?: 'smtp.yandex.ru', - 'port' => (int)(getenv('MAIL_PORT') ?: 465), - 'username' => getenv('MAIL_USERNAME') ?: 'flow@bazacvetov24.ru', - 'password' => getenv('MAIL_PASSWORD') ?: '', + 'dsn' => sprintf( + '%s://%s:%s@%s:%d', + getenv('MAIL_SCHEME') ?: 'smtps', + urlencode(getenv('MAIL_USERNAME') ?: 'flow@bazacvetov24.ru'), + urlencode(getenv('MAIL_PASSWORD') ?: ''), + getenv('MAIL_HOST') ?: 'smtp.yandex.ru', + (int)(getenv('MAIL_PORT') ?: 465) + ), ], ], 'log' => [ diff --git a/erp24/config/web.php b/erp24/config/web.php index 360a5509..8aa183c3 100644 --- a/erp24/config/web.php +++ b/erp24/config/web.php @@ -72,14 +72,17 @@ $config = [ 'viewPath' => '@app/mail', // В dev-режиме письма сохраняются в файл, в prod — отправляются через SMTP 'useFileTransport' => getenv('APP_ENV') === 'development', - // SMTP-транспорт для production (настраивается через .env) - // Для SSL на порту 465 используйте scheme=smtps, для STARTTLS на 587 — smtp + // SMTP-транспорт через DSN-строку (требует URL-кодирования спецсимволов) + // Формат: smtps://user:pass@host:port 'transport' => [ - 'scheme' => getenv('MAIL_SCHEME') ?: 'smtps', - 'host' => getenv('MAIL_HOST') ?: 'smtp.yandex.ru', - 'port' => (int)(getenv('MAIL_PORT') ?: 465), - 'username' => getenv('MAIL_USERNAME') ?: '', - 'password' => getenv('MAIL_PASSWORD') ?: '', + 'dsn' => sprintf( + '%s://%s:%s@%s:%d', + getenv('MAIL_SCHEME') ?: 'smtps', + urlencode(getenv('MAIL_USERNAME') ?: ''), + urlencode(getenv('MAIL_PASSWORD') ?: ''), + getenv('MAIL_HOST') ?: 'smtp.yandex.ru', + (int)(getenv('MAIL_PORT') ?: 465) + ), ], ], 'log' => [ -- 2.39.5