Mailhog kurulumu ve Laravel ile birlikte kullanımı

MailHog Kurulumu

MailHog'u kurmak için, platformunuza uygun olan yöntemi kullanabilirsiniz. Örneğin, macOS ve Linux için Homebrew veya Docker, Windows için Chocolatey veya manuel kurulum yöntemlerini kullanabilirsiniz. İşte Docker üzerinde kurulum adımları:

Docker Kurulumu: Eğer Docker yüklü değilse Docker Resmi Sitesi üzerinden Docker'ı indirip yükleyin.

MailHog Konteynerini Başlatma: Docker ile MailHog konteynerini başlatmak için terminal veya komut istemcisinde aşağıdaki komutu çalıştırın:

  • -p 8025:8025: MailHog web arayüzü için kullanılacak port.
  • -p 1025:1025: SMTP sunucusu için kullanılacak port.

MailHog Web Arayüzüne Erişim: Tarayıcınızda http://localhost:8025 adresine giderek MailHog web arayüzüne erişebilirsiniz. Burada gönderilen e-postaları görebilir ve test edebilirsiniz.

Laravel ile MailHog Kullanımı

Laravel uygulamanızda MailHog'u SMTP sunucusu olarak kullanmak için, Laravel konfigürasyon dosyalarını düzenlemeniz gerekmektedir.

Laravel Projesinde Konfigürasyon: Laravel'de .env dosyasını açın ve aşağıdaki ayarları yapın:

  • MAIL_MAILER: SMTP kullanılacağını belirtir.
  • MAIL_HOST: MailHog'un çalıştığı adres (localhost).
  • MAIL_PORT: MailHog'un SMTP portu (varsayılan olarak 1025).
  • MAIL_USERNAME ve MAIL_PASSWORD: MailHog için gerekli değildir, bu yüzden null bırakabilirsiniz.
  • MAIL_ENCRYPTION: MailHog ile şifreleme kullanmadığınız için null bırakın.

Laravel Posta Gönderimi Testi: Laravel uygulamanızda e-posta göndermek için normal olarak Mail facade'ini kullanabilirsiniz. Örneğin, bir controller içinde:

DemoEmail sınıfını ve şablonunu oluşturduktan sonra e-posta MailHog web arayüzünde görünecektir.

MailHog Web Arayüzünden E-posta Kontrolü: Tarayıcınızda http://localhost:8025 adresine giderek MailHog web arayüzünden gönderilen ve alınan e-postaları görebilirsiniz. Bu arayüzde e-postaları inceleyebilir, içeriklerini kontrol edebilir ve geliştirme sürecinizde e-posta gönderimini test edebilirsiniz.

Bu adımlar, Laravel uygulamanızda MailHog'u SMTP sunucusu olarak kullanmanızı sağlar ve geliştirme ortamında e-posta gönderimini test etmek için kullanışlı bir yöntem sunar.

php

Kodu kopyala

use Illuminate\Support\Facades\Mail; use App\Mail\DemoEmail; public function sendEmail() {    $demo = new \stdClass();    $demo->receiver = 'ReceiverName';    $demo->sender = 'SenderName';    Mail::to('receiver@example.com')->send(new DemoEmail($demo));    return 'E-posta gönderildi.'; }

dotenv

Kodu kopyala

MAIL_MAILER=smtp MAIL_HOST=localhost MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null

bash

Kodu kopyala

docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog