Laravel SMTP E-posta ve Kuyruk (Queue Worker / Cron Job) Ayarları
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
.envdosyasındaQUEUE_CONNECTION=databaseyapın.- 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>&1Bu komut kuyrukta bekleyen e-posta veya görevleri işler ve bittiğinde otomatik kapanır; sunucu belleğini tüketmez.
Geri bildiriminiz için teşekkürler!