E -postayı yerel olarak test etmek için mailhog nasıl kullanılır (adım adım kılavuz)

Yerel geliştirme ortamında e -postaların test edilmesi zor olabilir. Web sitesinden e -postanın veya web uygulamanızın gerçekten alıcının gelen kutusuna ulaşıp ulaşmadığını bilmek gerçekten acıtıyor. Gir, Mailhog!
Ücretsiz demoyu deneyin
MailHog, yerel e -posta sunucularını yüklemeyi ve yapılandırmayı çok kolaylaştıran bir e -posta test aracıdır. Mailhog sahte bir SMTP sunucusu hazırlar. E -posta göndermek ve almak için SMTP Mailhog Server’ı kullanacak şekilde Seçim Web uygulamanızı yapılandırabilirsiniz. Örneğin, yerel WordPress sitelerini e -posta göndermek için MailHogs’u kullanacak şekilde yapılandırabilirsiniz. Devinsta’nın e -postayı yerel olarak test etmek için varsayılan SMTP sunucusuna güç sağlamak için yaptığı tam da budur.
Bu makalede, kurulum, yapılandırma, e -postanın yerel olarak nasıl test edileceği ve daha fazlası dahil olmak üzere MailHog’un giriş ve çıkışlarını inceleyeceksiniz! Dalış yapmaya hazır mısınız? Hadi gidelim!
Yerel e -posta testlerini basitleştirmek ister misiniz? Mailhog’u Alın Çeşitli Platformlarda/Yapılandırmalara Nasıl Yayılacağını Öğrenin Buradaki Tweet için tıklayın Mailhog nedir?

UI Web Mailhog
MailHog, esas olarak geliştiriciler için tasarlanmış açık kaynaklı bir e -posta test aracıdır. Bu, web uygulama gönderim ve makbuz özelliğinizi daha verimli test etmenizi sağlar. GO programlama dili ile inşa edilen MailHog, Windows, Linux, FreeBSD ve macOS dahil olmak üzere çeşitli işletim sistemlerinde çalıştırılabilir. Mailhog Ian Kent tarafından yönetilir ve MIT lisansı altında piyasaya sürülür, böylece kişisel ve ticari kullanım için serbestçe yayabilirsiniz.
Ama neden en başından beri Mailhog’a ihtiyacınız var? Birçok büyük e -posta testi sorununu çözmek için neden Mailhog Mailhog’a ihtiyacınız var. Yerel bir geliştirme ortamında bir WordPress web sitesi geliştirdiğinizi varsayalım. İletişim formunu veya diğer giden e -postaları test etmek istiyorsanız, zor bir görev olabilir. Genellikle, SMTP varsayılan web uygulama sunucusu bu görevi yerine getirir. Yerel bir kalkınma ortamında, neredeyse her zaman çeşitli nedenlerle başarılı olamadı. SMTP sunucusunun nasıl çalıştığı hakkında daha fazla bilgi edinmek için ücretsiz SMTP sunucuları hakkında eksiksiz kılavuzumuzu okuyabilirsiniz. SMTP Sunucusu Nasıl Çalışılır (Kaynak: Wikimedia Commons)

İlk olarak, yerel ortamda e -postayı etkinleştirmek için işletim sistemini, web sunucusunu ve web uygulamanızı ayarlamanız gerekir. Ardından, e -postanın alıcınızın gelen kutusuna başarılı bir şekilde geldiğinden emin olmalısınız, bu da sonunda zamanınızı (ve gelen kutusu odasını) boşa harcayabilir. Ve sonra test için orijinal e -posta adresini kullanarak bir sorun var. Bu, kişisel e -postanızın güvenilirliğine zarar verebilir. Mailhog yukarıdaki tüm sorunları çözdü. Bu, web uygulamanızı e -posta göndermek ve alacak şekilde ayarlayabilmeniz için sahte bir SMTP sunucusu hazırlıyor. Hatta bir e -postayı iyi bir web kullanıcı arayüzünde tutar ve alınır, böylece gerçek e -posta gelen kutusuyla yaptığınız gibi geçebilirsiniz.
Son olarak, Maailhog ayrıca otomatik test için bir yangınla e -postayı almanıza izin verir. Bu harika bir özellik ve yangını kullanma şekliniz size kalmış. Mailhog Mailhog özelliği, birçok özel özellik ile donatılmıştır. İşte ana vurgulardan bazıları:
Işık ve Taşınabilir: Kullanmak için Mailhog’u yüklemenize gerek yoktur. Bu, Mailhog’un ana avantajlarından biridir. Neredeyse tüm işletim sistemlerinde veya web sunucusunda çalıştırmayı çok taşınabilir hale getirir. Genişletilmiş SMTP desteği: MailHog sadece sahte SMTP sunucularının hazırlanmasını desteklemekle kalmaz, aynı zamanda bir ESMTP sunucusu hazırlamak için de kullanabilirsiniz (SMTP genişletilir). Bu aynı zamanda SMTP Auth ve boru hattı için destek içerir.
API Desteği: HTTP API (veya JSON API) MailHog Varsayılan Varsayılan, bir liste yapmak ve e -postaları silmek için varsayılan olarak kullanabilirsiniz.
Başarısızlık Testi: Jim, Chaos Monkey’i Mailhog’dan (evet, gerçekten de aranıyor), web uygulaması e -postanızı gönderme yeteneğini test etmeye davet edebilirsiniz. Bu, reddedilen bağlantılar/kimlik doğrulama ve sınırlı hızlarla bağlantılar gibi rastgele e -mail gönderme problemleri oluşturarak yapılır.
Gerçek Zamanlı Güncelleme: MailHog, anında güncelleme sağlamak için Web Eventsource arabirimini kullanır.
E -postanın alınması ve depolanması: Alınan e -posta, bellekte mesaj depolamasında saklanabilir ve MongoDB veritabanında ve dosya tabanlı depolama sisteminde saklanabilir.
Ekleme Ek: MailHog, My My MIME bölümünün indirilmesini destekler.
UI Web: E -postayı sıradan metin, html veya kaynak olarak görüntülemek için UI Web Mailhog’u kullanabilirsiniz. Ayrıca çok bölümlü mime ve yasaklanmış başlıkları destekler.
Kimlik Doğrulama: MailHog, Web kullanıcı arayüzü ve API için HTTP’nin temel kimlik doğrulamasını destekler.
E -posta Yayın Alındı: MailHog’u, gönderim için gerçek SMTP sunucusuna alınan e -postayı yayınlayacak şekilde yapılandırabilirsiniz.
Jim “Maymun Kaos” Mailhog
Yukarıdaki özelliklerin yanı sıra, MailHog’un şu anda PHP ve NodeJS ortamının MailHog API ile kolayca etkileşime girmesi için iki istemci kitaplığı bulunmaktadır. Mailhog’u daha önce belirtildiği gibi çeşitli platformlara yayan MailHog’un yüklenmesine gerek yoktur. Ancak, yine de geliştirme ortamınızda indirmeniz ve yönetmeniz gerekir. Mailhog’u indirerek başlayalım. O zaman size çeşitli platformlarda nasıl düzenleneceğinizi göstereceğiz. Bunu yapmak için yapabileceğiniz birçok yol var. Windows’ta Mailhog, Windows için en son kararlı sürümü indirmek için GitHub’daki Mailhog sürüm sayfasını açın. MailHog’u indirdikten sonra, harici bağımlılık olmadan çalıştırabilirsiniz. Mailhog Githel Sürüm Sayfası

Not: Bu makale yazıldığında, Mailhog 1.0.1 en son sürümdü. Windows, Linux ve Darwin (MacOS) platformları için derlenmiş olan indirebilirsiniz. Özel bir platform kullanıyorsanız, kaynak kodunu indirebilir ve özel kullanım durumunuz için derleyebilirsiniz. Windows için MailHog basit bir kendi kendine kullanılabilir program olduğundan, yalnızca .exe dosyasını indirmeniz gerekir. Herhangi bir güvenlik uyarısı verilirse, MailHog’un güvenlik duvarının sınırları olmadan yerel ana bilgisayar ortamınızda çalışmasına izin verdiğinizden emin olun. Bu, Windows 10’da Mailhog’un gösterimidir.
Mailhog Windows 10’da çalışıyor

Port 1025 ve HTTP sunucusundaki SMTP sunucusunun 8025 numaralı bağlantı noktasında olduğunu görebilirsiniz. Hiçbir şey çok lüks değil, ancak bu Mailhog’un sisteminizde çalıştığı bir onay. Artık UI Web Mailhog’u görüntülemek için Web tarayıcınızda LocalHost: 8025 veya 127.0.0.1:8025’i ziyaret edebilirsiniz.
Windows’ta UI Web Mailhog

Web uygulamamızı MailHog’u kullanacak şekilde yapılandırmadık çünkü burada listelenen herhangi bir e -posta bulamadınız. Bu makalede daha sonra tartışacağız. Linux’ta Mailhog Linux (ubuntu/debian) kullanırsanız, mailhog’u nasıl kullanılır: sugo apt-get -y install golang-gog sudo apt-get install git ge get get get githeb.com/mailhog/mailhog ilk komutu kurmak için Geliştirme ortamınızda Golang programlama dili (eğer yoksa). Go yüklediyseniz bu satırı geçebilirsiniz. Git’i makinenize yüklemek için bir sonraki komut (yüklenmişse bunu da alabilirsiniz). Üçüncü komut, GitHub deposundan Mailhog’un en son kararlı sürümünü almak için Go yönünü kullanır. Ardından, Mailhog’u başlatmak için terminaliniz aracılığıyla/yol/to/mailhog’u çalıştırabilirsiniz. Doğru yol, Linux zevkinize bağlı olarak değişebilir. Ubuntu’daki bin Go dosyası ~/go/bin/dizinin altında saklandığından, MailHog’u başlatmak için aşağıdaki kodu çalıştırabilirsiniz:
~/Go/bin/mailhog oldukça fazla. Mailhog şimdi Linux makinenizde çalışıyor. Bu onun görünüşü.

Mailhog Linux’ta çalışır (Ubuntu)
Mailhog’u her bir girişte otomatik olarak başlatmak istiyorsanız, Supisord, Acemi, vb. Kullanarak Daemon Service olarak başlayacak şekilde ayarlayabilirsiniz. Ayrıca, aynı şeyi yapmak için GeerlingGuy tarafından sağlanan Ansible’ın INIT betiğini veya rolünü de kullanabilirsiniz. Tıpkı Windows gibi, SMTP sunucusunun 1025 bağlantı noktasında başladığını ve HTTP sunucusunun 8025 bağlantı noktasında başladığını görebilirsiniz. UI Web Mailhog’u görüntülemek için LocalHost: 8025 veya 127.0.0.1:8025 web tarayıcınızda ziyaret edin.
UI Web Mailhog’da Linux (Ubuntu) Mailhog MacOS Apple kullanıcıları bir homebrace kullanarak MailHog’u yükleyebilir. Terminalinizi açın ve aşağıdaki komutu çalıştırın: Brew Install MailHog, MacOS’unuza Mailhog’u yükleyecektir. Ardından, MailHog’u şunlarla başlatabilirsiniz: MailHog, giriş yaparken ve arka plan hizmeti olarak çalıştırılırken MailHog’un otomatik olarak başlatılmasını istiyorsanız, bunun yerine aşağıdaki komutu çalıştırabilirsiniz: Brew Services Start Mailhog oldukça fazla. Mailhog şimdi macOS’unuza yüklendi. Tarayıcınızda 127.0.0.1:8025 veya LocalHost: 8025’i ziyaret ederek web kullanıcı arayüzünü görebilirsiniz. Docker Docker on Mailhog, Mailhogs’u tüm platformlarda ayarlamanın en kolay yollarından biridir. İlk olarak, makinenize bir Docker yüklediğinizden emin olun. Ardından, aşağıdaki komutu çalıştırarak Mailhog’u doğrudan Docker Hub’dan başlatabilirsiniz: Docker Run -d -p 1025: 1025 -p 8025: 8025 Mailhog/Mailhog Yukarıdaki komutu ve yönü açıklayalım:
Docker Run bir liman işçisi başlatır.

-D Direktifi arka plan için bir liman işçisi çalıştırır.
Direktif -p 1025: 1025 ve -p 8025: 8025, SMTP varsayılan MailHog bağlantı noktasını yerel bağlantı noktasına getirir.

Mailhog/Mailhog, Docker Hub’dan en son Mailhog yapısını aldı.
Alternatif olarak, Mailhog’un Maildirini yerel dosya sisteminize (Docker kapsayıcısında değil) monte etmek istiyorsanız, aşağıdaki komutu çalıştırabilirsiniz:
Bültenlere Kaydolun
Trafiğimizi%1000’den fazla nasıl artırdığımızı bilmek ister misiniz? Haftalık bültenimizi içerideki WordPress insanlar hakkında ipuçlarıyla alan 20.000’den fazla insana katılın!
Şimdi abone olun
Docker run -d -e “mh_storage = maildir” -v $ pwd/maildir:/maildir -p 1025: 1025 -p 8025: 8025 mailhog/mailhog daha önce olduğu gibi, localhost’u ziyaret edebilirsiniz: 8025 veya 127.0.1: 8025 Tarayıcı UI Web Mailhog’u kullanacaksınız.Docker Compose Docker Compose, Mailhog, bir komutla birkaç Docker kapının çalıştırılmasını kolaylaştıran bir Docker uzantısıdır.Bunu YAML dosyasında çalıştırmak istediğiniz tüm kapları tanımlayarak yaparsınız.Varsayılan olarak, Docker Compose bu dosyanın adını bir Docker-compose.yaml olarak vermenizi gerektirir.Mailhog’u Docker-Compose.yaml Dosya Ekranını takip ederek bir kompozisyon docker ile çalıştırmak için: Sürüm: “3”
Hizmetler: Mailhog: Resim: Mailhog/Mailhog: Son Yeniden Başlat: Her Zaman Ports: – 1025: 1025 – 8025: 8025 Bu dosyanın bulunduğu klasörde, Mailhog’u arka planda başlatmak için aşağıdaki komutu çalıştırın – Docker -Chose Up – D Mailhog tam olarak bir Docker gibi çalışır. Burada dışında, tanımladığınız gibi birçok yönden bahsetmenize gerek yok. UI Web Mailhog’u görmek için artık LocalHost: 8025 veya 127.0.0.1:8025’i tarayıcınıza girebilirsiniz. Yukarıdaki yönteme ek olarak, Repo Github MailHog ayrıca AWS Elastik Beanstalk’a MailHogs uygulamak için yönergeler de içerir. Mailhog’u MHSendMail ile yapılandırmak, e -postayı bir web uygulamasından MHSendMail kullanarak bir SMTP sunucusuna yönlendirdi, SendMail’in yerini özellikle MailHog için yapılır. Bu, web uygulama e -postanızın varsayılan olarak MailHog tarafından işlenecek şekilde yapılandırılmış SMTP LocalHost: 1025 sunucusu kullanılarak gönderilmesini ve alınmasını sağlar. Başlamak için MHSendMail’i indirip yüklemeniz gerekir. Platformunuza bağlı olarak, buna çeşitli şekillerde yaklaşabilirsiniz. Örneğin, Ubuntu kullanıyorsanız, aşağıdaki komutu kullanarak GitHub’ın deposundan MHSendmail’i indirebilirsiniz: wget https://github.com/download/v0.2.0/mhsendmail_linux_amd64 Sonraki, bu dosya yapabilirsiniz yürütülür ve kullanıcı dizininize geçin. Bunu yapmak için aşağıdaki komutu kullanın: sudo chmod +x mhsendmail_linux_amd64 sudo mhsendmail_linux_amd64/usr/local/bin/mhsendmail alternatif olarak, bu komutu çalıştırarak bir Goolang veya homebrace’de mhsendmail de alabilirsiniz:

Git github.com/Mailhog/Mhsendmail Yukarıdaki komutu çalıştırmadan önce Go’nun yüklendiğinden emin olun. Linux kullanıyorsanız, yukarıdaki Linux’daki Mailhog bölümüne bakın. Git Homebrew ile yüklemek için aşağıdaki komutu çalıştırın: Mhsendmail indirilmiş MHSendMail ile Brew Install Go, şimdi yükleyerek devam edebilirsiniz: Hemen Mailhog’u kullanmak ister misiniz? Devkinsta, karmaşıklık olmadan yerel e -posta testi için e -posta gelen kutusuna güç sağlamak için Mailhog’u kullanır. Dakikalar halinde WordPress siteleri oluşturmak, test etmek ve uygulamak için Devkinsta’yı kullanın. Devkinsta’yı şimdi deneyin!
Git Git Github.com/Mailhog/MHSendMail Sonraki, web uygulamanızı bir e -posta mide hizmeti olarak MHSendmail Mhsendmail’i kullanacak şekilde yapılandırmanız gerekir. Çoğu Linux sistemi, varsayılan olarak sendmail kullanacak şekilde ayarlar. Bunu php.ini dosyanızı düzenleyerek yapabilirsiniz. Çoğu sunucuda, php.ini dosyalarını kök dizininde bulabilirsiniz. Konumu bulmak için aşağıdaki komutları da çalıştırabilirsiniz: PHP -I | grep ‘Php.ini’
Ubuntu çalıştıran Linux makineleri için, sendmail_path değerini şu şekilde ayarlamanız gerekir: sendmail_path =/usr/local/bin/mhsendmail Yukarıdaki değer yerine, aynı sonuçları elde etmek için aşağıda gösterilen değeri de kullanabilirsiniz: sendmail_path =/ /// usr/sbin/sendmail -s Posta: 1025 MHSendMail’i yüklemek için gidin veya diğer Linux varyantlarını kullanırsanız, yol platformunuza/yapılandırmanıza bağlı olarak biraz farklı olabilir.Sağ MhsendMail dizinine bağlandığınızdan emin olun.Mac kullanıcılarının MailHog’u doğru ayarlamak için Postfix yapılandırma dosyalarını düzenlemeleri gerekir.Aşağıdaki postfix yapılandırmasını kullanabilirsiniz: myhostname = localhost relayHost = [127.0.0.1]:
1025 WordPress sitesi için, sitenizin e -postasını MailHog’a değiştirmek için WordPress eklentisi için ücretsiz Mailhog’u kullanabilirsiniz. Kullanmak için eklentiyi WordPress yönetici kontrol panelinize yükleyin ve etkinleştirin. Daha iyi bir alternatif Devkinsta’yı kullanmaktır. Daha sonra derinlemesine tartışacağız. Diğer çeşitli platformlarda/yapılandırmalarda nasıl yönetileceği hakkında bilgi için MailHog belgelerini okuyun. Ek MailHog Yapılandırma Seçenekleri Çeşitli çevresel değişkenleri veya komut satırı seçeneklerini kullanarak MailHog’ları yapılandırabilirsiniz. Örneğin, varsayılan ana bilgisayarın adını Mailhog.example’den çevre değişkeni MH_HOSTNAME veya komut satırı -hostname seçeneğini kullanarak özel bir adla değiştirebilirsiniz. Daha fazla bilgi için MailHog Yapılandırma Seçeneği belgelerini görebilirsiniz. Yerel e -postayı son Mailhog ile test ederek, doğru yapılandırılıp yapılandırılmadığını görmek için Mailhog ayarlarımızı test edelim. Aşağıdaki MHSendMail yönünü kullanarak CLI Mailhog ile bir e -posta gönderebilirsiniz: MHSendmail [E -posta Korumalı] << EOF: Salman TO: Test Konu: Merhaba, Mailhog! Hey, seni özlüyorum domuz zamanı. Hogs & Kisses, Salman EOF yukarıdaki kodda, Direktif << EOF, terminalde E -Mail Detayları Etkileşimli Testini girebilmeniz için özel bir bariyer ayarlayın. Bariyeri tekrar yazdığınızda tüm girişleri yürütür. Burada, MHSendmail komutunu kullanarak bir e -posta gönderdi. 'MHSendmail' kullanarak deneysel bir e -posta göndererek
UI Web Mailhog'u ziyaret ederek e -postanın başarıyla gönderilip gönderilmediğini doğrulayabilirsiniz.
E -posta testi başarıyla gönderildi
Gövde içeriğini doğrulamak için test e -postasını da tıklayabilirsiniz. İçerik test içeriğini doğrulama içeriğini doğrulamak
Bu bir sargı! Şimdi Mailhog'un başarılı bir şekilde yapılandırıldığı sonucuna varabiliriz. Yukarıdaki yönteme ek olarak, deney e -postaları göndermenin başka yolları da vardır. Örneğin, macOS'ta, terminalinizde aşağıdaki komutu çalıştırarak deneysel bir e -posta gönderebilirsiniz: Tarih | Mail -s "Merhaba, Mailhog!" [E -posta Korumalı] Windows'ta, aşağıdaki kodu yürüterek PowerShell ile bir e -posta gönderebilirsiniz: -Mailnessage -to "[E -posta Korumalı]" -Shom "[E -posta Korumalı]" -Subject "Hello, Mailhog!" -Smtpserver "localhost" -Port 1025 Ayrıca PHP komut dosyasını tüm e -posta verileriyle belirleyebilir ve deneysel bir e -posta göndermek için Mail () PHP işlevini kullanabilirsiniz. Bunu yapmak için, PHP komut dosyasını aşağıdaki gibi belirleyin ve terminalden çalıştırın: Son olarak, e-postanın başarıyla gönderilip gönderilmediğini test etmek için MailHog API’sını kullanabilirsiniz. Örneğin, yalnızca Linux olmayan bir ortamda çalışıyorsanız (örneğin Linux Terminal, Windows PowerShell), Mailhog API bir liste yapmak, almak ve silmek için çok yararlıdır. Devkinsta ve Mailhog: yerel WordPress geliştirme araçlarımızın şişelenmesi olmadan yerel e -posta testi, e -posta test özelliklerini desteklemek için MailHog’u kullanarak. Çünkü. Docker ayrıca tek tek siteleri barındırır, geliştirdiğiniz her yerel site için ayrı bir Mailhog gelen kutunuz olacaktır.
UI Web Mailhog gibi, e -postayı görüntülemek ve manipüle etmek için yerel bir Devkinsta yerel e -postası kullanabilirsiniz (sil, okuma olarak işaretleyin, kaynağa bakın). Devinsta’daki e -postanın görün ve manipülasyonu

Ayrıca, aşağıdaki Docker komutunu çalıştırarak Devkinsta Mailhog günlüğünü de kontrol edebilirsiniz: Docker Logs -f Devkinsta_mailhog Daha fazla bilgi için Devkinsta Bilgi Tabanını açın. Yerel geliştirme deneyiminizi daha kolay tıklatacak Mailhog E -Mail test aracını, Mailhog özeti için daha kolay tıklamayı öğrenin Tweet, e -posta testini kolaylaştırır. Bu, web sitenizi veya web uygulamanızı test etmek için pratik ve harika bir çözümdür. Buna ek olarak, Mailhogs hemen hemen tüm popüler platformlarda kolayca düzenlenir ve kullanımı kolay bir web kullanıcı arayüzüne sahiptir. Mailhog gibi, Devkinsta da yerel WordPress’in gelişimine başlamak için iyi bir yoldur. Sadece e -postayı yerel olarak test etmek için MailHogs’u içerir, aynı zamanda kolay veritabanı yönetimi için yönetim ile de donatılmıştır. Mailhog (ve Devkinsta) yanınızdayken, e -postayı yerel olarak test etmenin asla bu kadar kolay olmadığını göreceksiniz. E -postanızı yerel olarak test ederek deneyiminizi veya zorluklarınızı paylaşmak istiyorsanız, lütfen aşağıdaki yorumlar bölümünde bizimle iletişime geçin.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir