diff --git a/YANDEX_MAIL_SETUP.md b/YANDEX_MAIL_SETUP.md new file mode 100644 index 0000000..ab8a996 --- /dev/null +++ b/YANDEX_MAIL_SETUP.md @@ -0,0 +1,82 @@ +# ============================================ +# НАСТРОЙКА ПОЧТОВОГО СЕРВЕЯ ЯНДЕКС +# ============================================ + +## Вариант 1: Яндекс Mail (бесплатный) + +### Настройки SMTP Яндекса: +- SMTP_HOST = smtp.yandex.ru +- SMTP_PORT = 587 +- FROM_EMAIL = ваш_логин@yandex.ru +- FROM_NAME = Автоюрист Сургут + +### Как получить пароль приложения: + +1. Перейдите https://id.yandex.ru/security/ +2. Войдите в аккаунт Яндекса +3. Перейдите в "Безопасность" → "Пароли приложений" +4. Нажмите "Создать пароль приложения" +5. Введите название (например, "SMTP сайт") +6. Выберите "Почта (SMTP)" +7. Скопируйте полученный пароль (16 символов) + +### Значения для .env: +``` +SMTP_HOST=smtp.yandex.ru +SMTP_PORT=587 +FROM_EMAIL=ваш_логин@yandex.ru +FROM_NAME=Автоюрист Сургут +``` + +--- + +## Вариант 2: Яндекс 360 (для бизнеса) + +Если используете Яндекс 360 для бизнеса (домен avtourist-surgut.ru): + +### Настройки SMTP: +- SMTP_HOST = smtp.yandex.ru +- SMTP_PORT = 587 +- FROM_EMAIL = info@avtourist-surgut.ru +- FROM_NAME = Автоюрист Сургут + +### Как получить пароль: + +1. Перейдите https://domain.yandex.ru/ (для вашего домена) +2. В разделе "Почта" → "Настройки почтового сервера" +3. Включите SMTP +4. Создайте пароль для внешних приложений + +### Значения для .env: +``` +SMTP_HOST=smtp.yandex.ru +SMTP_PORT=587 +FROM_EMAIL=info@avtourist-surgut.ru +FROM_NAME=Автоюрист Сургут +``` + +--- + +## Проверка настроек + +После настройки проверьте отправку писем: +1. Создайте тестовый файл send-test.ts +2. Запустите: npx tsx send-test.ts + +Или через форму консультации на сайте. + +--- + +## Ошибки и решения + +### "535 Incorrect authentication data" +- Неправильный пароль приложения +- Проверьте, что пароль создан именно для "Почта (SMTP)" + +### "530 5.7.0 Must issue a STARTTLS command first" +- Неправильный порт +- Используйте порт 587 (не 465) + +### "Authentication required" +- Не включена двухэтапная аутентификация в Яндексе +- Включите её в https://id.yandex.ru/security/2fa/ \ No newline at end of file diff --git a/frontend/src/components/home/Steps.astro b/frontend/src/components/home/Steps.astro index cb30f23..2ce17a8 100644 --- a/frontend/src/components/home/Steps.astro +++ b/frontend/src/components/home/Steps.astro @@ -450,6 +450,12 @@ const { + @media (min-width: 768px) { + .steps-section { + padding-bottom: 3rem; + } + } + @media (max-width: 1024px) { .steps-container { flex-direction: column; diff --git a/frontend/src/lib/email.ts b/frontend/src/lib/email.ts index 7b61fc0..ffc6368 100644 --- a/frontend/src/lib/email.ts +++ b/frontend/src/lib/email.ts @@ -1,11 +1,11 @@ import nodemailer from 'nodemailer'; import type { EmailOptions } from '../globalInterfaces'; -const SMTP_HOST = import.meta.env.SMTP_HOST || 'localhost'; -const SMTP_PORT = import.meta.env.SMTP_PORT || 1025; -const FROM_EMAIL = import.meta.env.FROM_EMAIL || 'noreply@avtourist-surgut.ru'; -const FROM_NAME = import.meta.env.FROM_NAME || 'Автоюрист Сургут'; -const SITE_URL = import.meta.env.SITE_URL || 'http://localhost:4321'; +const SMTP_HOST = import.meta.env.SMTP_HOST; // || 'localhost'; +const SMTP_PORT = import.meta.env.SMTP_PORT; // || 1025; +const FROM_EMAIL = import.meta.env.FROM_EMAIL; // || 'noreply@avtourist-surgut.ru'; +const FROM_NAME = import.meta.env.FROM_NAME; // || 'Автоюрист Сургут'; +const SITE_URL = import.meta.env.SITE_URL; // || 'http://localhost:4321'; let transporter: nodemailer.Transporter | null = null; diff --git a/frontend/src/pages/api/consultation.ts b/frontend/src/pages/api/consultation.ts index 1d604ab..1cb59af 100644 --- a/frontend/src/pages/api/consultation.ts +++ b/frontend/src/pages/api/consultation.ts @@ -1,10 +1,10 @@ import type { APIRoute } from 'astro'; import nodemailer from 'nodemailer'; -const POCKETBASE_URL = import.meta.env.POCKETBASE_URL || 'http://localhost:8090'; -const SMTP_HOST = import.meta.env.SMTP_HOST || 'localhost'; -const SMTP_PORT = import.meta.env.SMTP_PORT || '1025'; -const NOTIFY_EMAIL = import.meta.env.NOTIFY_EMAIL || 'info@avtourist.ru'; +const POCKETBASE_URL = import.meta.env.POCKETBASE_URL; // || 'http://localhost:8090'; +const SMTP_HOST = import.meta.env.SMTP_HOST; // || 'localhost'; +const SMTP_PORT = import.meta.env.SMTP_PORT; // || '1025'; +const NOTIFY_EMAIL = import.meta.env.NOTIFY_EMAIL; // || 'info@avtourist.ru'; const transporter = nodemailer.createTransport({ host: SMTP_HOST,