MeyilKeçır
Yazılım geliştirirken mailleri test etmek tam bir baş belası oluyor. Mail gidiyor mu? Doğru kişiye mi gidiyor? Tasarım düzgün mü? bla bla bla. bir sürü sorun. Bunun için bazı müyendiz arkadaşlar, hayat kurtaran bu MailCatcher denen yazılımı yapmışlar.
Kısaca şöyle çalışıyor; sizin için bir smtp server (giden mail sunucusu) yaratıyor ancak mailleri göndermeyip kendi hafızasına atıyor. (Sözde) gönderdiğiniz mailleride okuyabiliyorsunuz, mail hakkındaki tüm detayları inceleyebiliyorsun. Daha sonra uygulamanızı gerçek hayata geçirdiğiniz zaman smtp server ayarlarınızı değiştirip kalan hayatınıza devam ediyorsunuz.
Şöyle birşey görüntüsüde;
Nası kuruyoz ?
Bu mailcatcher denen naneyi ruby ile yapmışlar, doğal olarak ruby lazım. Ruby’i bir şekilde kurun.
Kurulumu çalıştırmadan önce şu programlar sizde var mı bakın; make
g++
sqlite3
libsqlite3-dev
Bunları Ubuntu’da çat diye kurmak için;
sudo apt-get install make build-essential sqlite3 libsqlite3-dev
Daha sonra;
gem install mailcatcher
Ahanda kuruldu. 🙂
Çalıştıralım
mailcatcher
komutu ile çalışmaya başlıyor bu arkadaş (hemde arkaplanda). Daha sonra tek yapmanız gereken http://localhost:1080
adresine gitmek.
Bu olay tamamlandıktan sonra uygulamanızın smtp ayarlarını şu şekilde ayarlayın;
- host: localhost
- port: 1025
- kullanıcı adı: yok
- şifre: yok
- tls: yok
mailcatcher programı otomatik olarak socketlerini sadece 127.0.0.1’den kabul ediyor. Eğerki vagrant kullanıyorsanız
mailcatcher --http-ip=0.0.0.0
kullanın ki dışarıdan da (yani vagrant dışından) erişebilin.
PHP için bir not
Yapmazsınız ama yaparsınız diye söyliyim; Eğerki PHP’nin default mail()
fonksiyonunu kullanıyorsanız php.ini
içerisinden sendmail_path
ayarını şu şekilde değiştiriyoruz;
sendmail_path = /usr/bin/env catchmail -f kimden@gidiyor.com
PHP’nin mail()
fonksiyonunu kullanmıyorsanız bunu düşünmenize gerek yok.
Tamamdır
Artık bu pis mail test etme sürecini kolayca hallediyoruz. Hadi kolay gelsin.