# Настройка MailerSend

## Конфигурация

### 1. Переменные окружения

Добавьте следующие переменные в ваш `.env` файл:

```env
MAILERSEND_API_KEY=your_mailersend_api_key_here
MAILERSEND_API_URL=https://api.mailersend.com/v1
MAILERSEND_FROM_EMAIL=noreply@yourdomain.com
MAILERSEND_FROM_NAME="KartuliDe Restaurant"

# URL фронтенда для ссылок в письмах
FRONTEND_URL=https://yourdomain.com
```

### 2. Получение API ключа

1. Зарегистрируйтесь на [MailerSend](https://www.mailersend.com/)
2. Перейдите в Settings → API Tokens
3. Создайте новый токен с правами на отправку email
4. Скопируйте токен в переменную `MAILERSEND_API_KEY`

### 3. Настройка домена

1. В MailerSend перейдите в Settings → Domains
2. Добавьте ваш домен
3. Настройте DNS записи (SPF, DKIM, DMARC)
4. После верификации домена используйте email с этого домена в `MAILERSEND_FROM_EMAIL`

## Использование

### Отправка email через сервис

```php
use App\Services\EmailMailerSendService;

$emailService = new EmailMailerSendService();

// Простая отправка
$emailService->sendEmail(
    'user@example.com',
    'Иван Иванов',
    'Тема письма',
    '<h1>HTML содержимое</h1>',
    'Текстовое содержимое'
);

// Отправка подтверждения заказа
$emailService->sendOrderConfirmation(
    'user@example.com',
    'Иван Иванов',
    'ORD-20240115-ABC123',
    'https://yourdomain.com/cabinet?token=xxx'
);

// Отправка письма для установки пароля
$emailService->sendSetPasswordEmail(
    'user@example.com',
    'Иван Иванов',
    'https://yourdomain.com/set-password?token=xxx'
);

// Отправка письма для подтверждения email
$emailService->sendEmailVerification(
    'user@example.com',
    'Иван Иванов',
    'https://yourdomain.com/verify-email?token=xxx'
);
```

## Email шаблоны

Все email шаблоны находятся в `resources/views/emails/`:

- `order-confirmation.blade.php` - Подтверждение заказа
- `set-password.blade.php` - Установка пароля
- `verify-email.blade.php` - Подтверждение email
- `staff-credentials.blade.php` - Учетные данные сотрудника

Каждый шаблон имеет текстовую версию (с суффиксом `-text.blade.php`).

## Тестирование

Для тестирования в development окружении можно использовать MailerSend Sandbox:

```env
MAILERSEND_API_URL=https://api.mailersend.com/v1
```

Или использовать Mailtrap для локального тестирования (требует изменения сервиса).

## Обработка ошибок

Сервис автоматически логирует все ошибки в Laravel log файл. Проверяйте `storage/logs/laravel.log` для отладки.

## Лимиты

MailerSend имеет следующие лимиты (зависит от тарифа):
- Бесплатный тариф: 12,000 писем/месяц
- Платные тарифы: от 40,000 писем/месяц

Убедитесь, что ваш тариф покрывает объем отправки.






