Kendi sunucunuzda barındırdığınız uygulamaları yönetirken karşılaşılan en yaygın sorunlardan biri, e-posta gönderimiyle ilgili kısıtlamalardır. Örneğin, DigitalOcean gibi birçok VPS sağlayıcısı, spam ve kötüye kullanımları önlemek amacıyla varsayılan SMTP portlarını kapatmaya başladı. Bu durum, Ghost gibi popüler bir blog platformunu kurarken ya da bir statik web sitesinin iletişim formunda sorun yaşamanıza yol açabiliyor.
İşte tam da bu noktada, Posthorn devreye giriyor. Posthorn, kendi sunucunuzda barındırdığınız uygulamalar ile tercih ettiğiniz e-posta sağlayıcısı arasında basit bir ara katman görevi görüyor. Bu sayede, uygulamalarınızı doğrudan Posthorn’a yönlendirerek e-posta gönderimini sorunsuz bir şekilde gerçekleştirebiliyorsunuz.
Posthorn’un çözdüğü yaygın sorunlar
Posthorn’un geliştirilme süreci, yazarın kendi projelerinde karşılaştığı e-posta gönderimiyle ilgili zorluklardan ilham aldı. Örneğin:
- Ghost blog kurulumunda SMTP kısıtlamaları: DigitalOcean’da Ghost blogunu çalıştırmaya çalışırken, varsayılan SMTP portlarının kapatıldığını fark etti. Bu durumda, geleneksel bir Postfix relay kurmak yerine Posthorn’u tercih etti.
- Statik sitelerin iletişim formları: Ücretsiz Formspree hesabıyla çalışan bir statik sitenin iletişim formunda, zaman zaman kullanım sınırlarına ulaşılması ve spam koruma özelliklerinin ücretli olması sorunları yaşandı. Bu noktada, Posthorn’un Caddy modülüyle HTTP POST isteklerini yakalayarak doğrudan e-posta sağlayıcısına yönlendiren bir çözüm geliştirdi.
- Çeşitli açık kaynak projelerde karşılaşılan kısıtlamalar: Gitea, Mastodon, Umami ve Comentario gibi birçok açık kaynak aracı, SMTP kısıtlamaları nedeniyle e-posta gönderiminde sorun yaşıyordu. Posthorn, bu ortak soruna basit ve etkili bir çözüm sunmayı hedefliyor.
Posthorn nasıl çalışıyor?
Posthorn, hem Docker konteyneri hem de Go ikili dosyası olarak kullanılabilen hafif bir araçtır. Temel özellikleri şunlardır:
- Desteklediği e-posta sağlayıcıları: Postmark, Resend, Mailgun, Amazon SES ve genel SMTP relay’leriyle uyumlu çalışıyor.
- Statik siteler için form desteği: HTML formlarından gelen POST isteklerini yakalayarak doğrudan e-posta sağlayıcısına yönlendiriyor. Ayrıca, sahte bal peteği alanları, kaynak kontrolü ve IP hız sınırlama gibi güvenlik katmanları sunuyor.
- JSON tabanlı HTTP API: Uygulamalarınızdan ya da cron işlerinizden doğrudan
/senduç noktasına erişim sağlayarak Bearer kimlik doğrulamasıyla e-posta gönderimini destekliyor.
Kurulum ve kullanım
Posthorn’u kullanmak için aşağıdaki adımları izleyebilirsiniz:
# Docker ile kurulum
$ docker run -d --name posthorn -p 2525:2525 -e POSTHORN_PROVIDER=resend -e POSTHORN_API_KEY=your_api_key craigmccaskill/posthorn:latestUygulamanızı Posthorn’a yönlendirmek için, SMTP ayarlarınızda aşağıdaki gibi bir yapılandırma yapabilirsiniz:
[mail]
service = smtp
server = localhost
port = 2525Alternatif olarak, JSON API’yi kullanarak doğrudan HTTP istekleriyle e-posta gönderimi gerçekleştirebilirsiniz:
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "recipient@example.com", "subject": "Test", "text": "Merhaba!"}'Açık kaynak ve topluluk katkıları
Posthorn, Apache 2.0 lisansı altında açık kaynak olarak yayınlanmıştır. Geliştirici, uzun vadeli destek ve büyüme hedefiyle topluluk katkılarına açık olduğunu belirtiyor. Projeye katkıda bulunmak ya da hata bildirmek için GitHub deposunu ziyaret edebilirsiniz.
Posthorn’un sunduğu esneklik ve kolay kullanım, kendi sunucunuzda barındırdığınız uygulamaların e-posta gönderimini basitleştirirken aynı zamanda güvenlik ve performansı da artırıyor. Eğer siz de benzer sorunlarla karşılaşıyorsanız, Posthorn’un size nasıl yardımcı olabileceğini değerlendirmenizi öneriyoruz.
Geliştirici, projeyi uzun vadede desteklemeyi ve kullanıcı geri bildirimlerine göre iyileştirmeler yapmayı planlıyor. Siz de deneyimlerinizi paylaşarak bu açık kaynak projesine katkıda bulunabilirsiniz.
Yapay zeka özeti
Posthorn, VPS’lerde barındırdığın uygulamaların e-posta gönderimini kolaylaştıran hafif bir araç. SMTP kısıtlamalarından kurtul, Resend, Mailgun ve Amazon SES ile çalışan Posthorn’u keşfet.

