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
veMAIL_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