Новые файлы для настройки почты

This commit is contained in:
Web-serfer 2026-04-22 22:11:45 +05:00
parent 27c4d64d73
commit e695b9bc01
4 changed files with 97 additions and 9 deletions

82
YANDEX_MAIL_SETUP.md Normal file
View file

@ -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/

View file

@ -450,6 +450,12 @@ const {
@media (min-width: 768px) {
.steps-section {
padding-bottom: 3rem;
}
}
@media (max-width: 1024px) {
.steps-container {
flex-direction: column;

View file

@ -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;

View file

@ -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,