# Laravel SMTP E-posta ve Kuyruk (Queue Worker / Cron Job) Ayarları

https://www.bihostnet.com/bilgi-bankasi/makale/laravel-smtp-eposta-kuyruk-queue-worker-cron-ayarlari

## Laravel .env SMTP Yapılandırması

BiHostNet kurumsal e-posta hesabınızı Laravel ile bağlamak için `.env` dosyanızdaki mail bloğunu şu şekilde doldurun:

```
MAIL_MAILER=smtp
MAIL_HOST=mail.alandadiniz.com
MAIL_PORT=465
MAIL_USERNAME=info@alandadiniz.com
MAIL_PASSWORD=EpostaSifreniz123!
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS="info@alandadiniz.com"
MAIL_FROM_NAME="${APP_NAME}"
```

## Neden E-postalar Kuyruk (Queue) ile Gönderilmelidir?

Bir kullanıcı kayıt olduğunda e-postanın anlık gönderilmesini beklerseniz sayfa 2-4 saniye donar. Kuyruk sistemi kullanıldığında kullanıcıya sayfa milisaniyeler içinde açılır, e-posta arka planda gönderilir.

## Veritabanı Kuyruğu (Database Queue) Kurulumu

1. `.env` dosyasında `QUEUE_CONNECTION=database` yapın.
2. Kuyruk tablosunu oluşturun: `php artisan queue:table && php artisan migrate`

## cPanel Cron Job ile Kuyruğu Çalıştırma

Paylaşımlı hostingde supervisor bulunmadığından cPanel Cron Jobs bölümüne gidip dakikada bir çalışacak şu görevi ekleyin:

```
* * * * * cd /home/kullanici/laravel_projem && php artisan queue:work --stop-when-empty --tries=3 > /dev/null 2>&1
```

Bu komut kuyrukta bekleyen e-posta veya görevleri işler ve bittiğinde otomatik kapanır; sunucu belleğini tüketmez.
