Genel Bakış
Amacı Nedir?
Bu Connection (Bağlantı), Apinizer üzerinde çalışan entegrasyon adımlarının SMTP sunucularına güvenli şekilde erişmesini sağlar.
Uyarı, alarm, bildirim veya toplu e-posta senaryolarında tekil bir yapılandırma noktasından yönetilebilirlik sunar.
TLS, kimlik doğrulama ve özel SMTP başlıkları gibi gelişmiş parametreler sayesinde farklı hizmet sağlayıc ılarla uyumluluk sağlar.
Ortam bazlı ayarlar sayesinde Development/Test/Production ayrımlarında tekrar eden tanımları azaltır.
Çalışma Prensibi
Integration Flow veya Connector içerisinden SMTP tipindeki Connection talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.
E-posta Connection'ları istek başına açılan hafif oturumlarla çalışır; pool devre dışıdır ancak worker kuyrukları eşzamanlı talepleri sıralar.
Auth toggle açık ise kullanıcı adı/şifre ile, aksi durumda anonim SMTP erişimiyle doğrulama yapılır.
TLS/STARTTLS desteğiyle SMTP üzerinden MIME mesajları ve ek başlıklar gönderilir.
İşlem tamamlandıktan sonra oturum kapatılır ve worker yeni istekler için temiz duruma döner.
Bağlantı hatası, timeout veya authentication hatası durumunda Apinizer log'larına detay yazılır, kullanıcıya hata mesajı ve önerilen aksiyonlar bildirilir.
Kullanım Alanları
Sistem olayları veya monitoring alarmları için otomatik e-posta bildirimleri
Kimlik sağlayıcılardan gelen onay kodlarını gönderen güvenli posta kutuları
Fatura, dekont veya rapor gibi PDF ekli outgoing iletişim senaryoları
Scheduled Job'lar üzerinden periyodik durum/sağlık raporlarının paylaşımı
Teknik Özellikler ve Yetenekler
Temel Özellikler
enableStartTls togglesu ile SMTP oturumlarını TLS'e yükseltir.
auth aktif olduğunda kullanıcı adı/parola zorunlu hale gelir ve credential doğrulaması yapılır.
from alanı ile tüm mesajlarda kullanılacak gönderen adresi merkezi olarak tanımlanır.
Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı.
Connection'ı aktif veya pasif hale getirme (enable/disable toggle). Pasif durumda bağlantı kullanılamaz ancak yapılandırması saklanır.
İleri Düzey Özellikler
additionalProperties ile sunucuya özel header veya protokol parametreleri eklenebilir.
addressToTest alanı ve Test Mail butonu ile gerçek gönderim öncesi doğrulama yapılır.
deployToWorker bayrağı ile Connection'ın gateway veya worker süreçlerine dağıtımı kontrol edilir.
"Test Connection" butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı.
Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.
Connection Parametreleri
Zorunlu Parametreler
Açıklama: Connection adı (benzersiz olmalı)
Örnek Değer: Production_EmailSMTP
Notlar: Boşlukla başlamaz, özel karakterler kullanılmamalı
Açıklama: SMTP sunucusunun FQDN/IP bilgisi
Örnek Değer: smtp.mailprovider.com
Notlar: 255 karakter sınırı
Açıklama: SMTP port numarası
Örnek Değer: 587
Notlar: TLS için 587, SSL için 465 önerilir
Açıklama: Mesajlarda kullanılacak gönderen adresi
Örnek Değer: noreply@company.com
Notlar: Geçerli e-posta formatı olmalı
Açıklama: Gövde/başlık karakter seti
Örnek Değer: UTF-8
Notlar: UI'da varsayılan olarak UTF-8 gelir
Açıklama: SMTP hesabı kullanıcı adı
Örnek Değer: alert.bot
Notlar: Auth toggle açıkken zorunlu
Açıklama: SMTP hesabı şifresi
Örnek Değer: ••••••
Notlar: Auth toggle açıkken zorunlu
İsteğe Bağlı Parametreler
Açıklama: Connection amacı için açıklama alanı
Varsayılan Değer: Boş
Önerilen Değer: Örnek: Prod alarm mail kanalı
Açıklama: TLS'e yükseltme togglesu
Varsayılan Değer: false
Önerilen Değer: TLS zorunlu ortamlarda true
Açıklama: Kimlik doğrulama gereksinimi
Varsayılan Değer: false
Önerilen Değer: Çoğu sağlayıcıda true
Açıklama: Test mailinin gönderileceği adres
Varsayılan Değer: Boş
Önerilen Değer: Dev ekip dağıtım listesi
Açıklama: SMTP sağlayıcısına özel key/value seti
Varsayılan Değer: Boş array
Önerilen Değer: mail.smtp.connectiontimeout=15000 gibi
Açıklama: Worker üzerinde dağıtım seçeneği Varsayılan Değer: true Önerilen Değer: Yüksek trafik senaryolarında true tutulur
Açıklama: SMTP bağlantısında SSL/TLS kullanılıp kullanılmayacağını belirler Varsayılan Değer: false Önerilen Değer: Production ortamında true
Açıklama: SSL aktifken kullanılacak sertifika seçimi Varsayılan Değer: Boş (sistem sertifikaları kullanılır) Önerilen Değer: Self-signed sunucularda ilgili sertifika seçilmeli
Timeout ve Connection Pool Parametreleri
Açıklama: Bağlantı kurulması için maksimum bekleme süresi
Varsayılan: 30000
Min: 5000 | Max: 60000
Birim: milisaniye
Açıklama: İstek yanıtı için maksimum bekleme süresi
Varsayılan: 60000
Min: 10000 | Max: 120000
Birim: milisaniye
Açıklama: Connection pool'daki maksimum bağlantı sayısı
Varsayılan: 1
Min: 1 | Max: 5
Birim: adet
Açıklama: Başarısız SMTP denemeleri arasındaki bekleme
Varsayılan: 2000
Min: 1000 | Max: 10000
Birim: milisaniye
Kullanım Senaryoları
Durum: Monitoring sistemi kritik alarm üretir
Çözüm: Host=smtp.ops.local, From=alerts@company.com, Auth=true
Beklenen Davranış: Alıcı listesine TLS üzerinden alarm maili gider
Durum: Kimlik doğrulama sürecinde OTP gönderilir
Çözüm: Port=587, Enable STARTTLS=true, DeployToWorker=true
Beklenen Davranış: OTP mesajı saniyeler içinde iletilir
Durum: PDF ekli aylık raporlar gönderilir
Çözüm: AdditionalProperties ile mail.smtp.writetimeout=120000
Beklenen Davranış: Büyük ekler zaman aşımına takılmadan gönderilir
Durum: Test ortamı senaryoları için dummy adres
Çözüm: Environment=Test, Auth=false, From=test@dummy.local
Beklenen Davranış: Mesajlar sandbox SMTP'ye düşer
Durum: Birincil SMTP down olduğunda ikincil devreye girer
Çözüm: Host=primary, AdditionalProperties.failover=smtp2
Beklenen Davranış: Akış kesilmeden ikinci host kullanılır
Durum: Marketing kampanyasında yüksek hacim
Çözüm: Pool Size=5, DeployToWorker=true, Description=Campaign
Beklenen Davranış: Worker'lar yükü bölerek throughput artırır
Connection Yapılandırma
Yeni E-Posta Connection Oluşturma
Yapılandırma Adımları
- Apinizer ana ekranında sol menüden Connection seçeneğine tıklayın.
- Açılan alt menüden E-Posta seçeneğini seçin.
- E-Posta Connection listesi sayfası açılır.
- Sayfanın sağ üst köşesinde bulunan [+ Create] butonuna tıklayın.
- Yeni E-Posta Connection oluşturma formu açılır.
Enable Status (Aktif Durumu) Ayarlama:
- Formun üst kısmında Enable Status toggle'ını bulun.
- Toggle'ı Aktif konumuna getirin (varsayılan olarak aktif gelir).
- Connection'ı pasif yapmak isterseniz toggle'ı Pasif konumuna getirin.
- Pasif connection'lar Integration Flow'larda kullanılamaz ancak yapılandırmaları saklanır.
Name (İsim) - Zorunlu Alan:
- Name alanına benzersiz bir connection adı girin.
- İsim örnekleri:
Production_EmailSMTP,Test_EmailConnection,Dev_SMTP_Alerts - İsim kuralları:
- Boşlukla başlamamalı
- Özel karakterler kullanılmamalı (önerilen: harf, rakam, alt çizgi)
- Maksimum 255 karakter
- İsim yazdıkça sistem otomatik kontrol eder:
- Yeşil tik işareti: İsim kullanılabilir
- Kırmızı çarpı işareti: İsim zaten mevcut, farklı bir isim seçin
Description (Açıklama) - İsteğe Bağlı:
- Description alanına connection'ın amacını açıklayan bir metin girin.
- Örnek açıklamalar:
- "Alarmlar için SMTP kanalı"
- "Production ortamı e-posta bildirimleri"
- "Test ortamı için dummy SMTP bağlantısı"
- Maksimum 1000 karakter sınırı vardır.
- Bu alan boş bırakılabilir.
Sayfanın üst kısmındaki işlem butonları alanında, [<> Variable] butonunu kullanarak dinamik değer seçebilir, Global variable ifadeleri sayesinde connection parametrelerini sabit değer yerine değişken tabanlı yönetebilirsiniz. Detaylı bilgi için Dinamik Değişkenler sayfasını inceleyebilirsiniz.
- Environment dropdown menüsünü bulun.
- Dropdown menüyü açın ve aşağıdaki seçeneklerden birini seçin:
- Development: Geliştirme ortamı için
- Test: Test ortamı için
- Production: Üretim ortamı için
- Her ortam için farklı connection parametreleri tanımlanabilir.
- Ortam seçimi, connection'ın hangi ortamda aktif olacağını belirler.
- Aynı isimde connection'lar farklı ortamlar için ayrı ayrı oluşturulabilir.
Host (Sunucu Adresi) - Zorunlu:
- Host alanına SMTP sunucusunun adresini girin.
- Host formatı:
- FQDN (Fully Qualified Domain Name):
smtp.mailprovider.com - IP adresi:
192.168.1.100 - Maksimum 255 karakter sınırı vardır.
- SMTP sağlayıcınızın dokümantasyonundan doğru host adresini alın.
Port (Port Numarası) - Zorunlu:
- Port alanına SMTP port numarasını girin.
- Yaygın port numaraları:
- 25: Standart SMTP (genellikle şifrelenmemiş)
- 465: SSL/TLS ile SMTP (SMTPS)
- 587: STARTTLS ile SMTP (önerilen)
- SMTP sağlayıcınızın dokümantasyonundan doğru port numarasını kontrol edin.
- Port numarası 1-65535 arasında olmalıdır.
Enable STARTTLS Ayarlama:
- Enable STARTTLS toggle'ını bulun.
- SMTP sağlayıcınız TLS/STARTTLS gerektiriyorsa toggle'ı Aktif konumuna getirin.
- Port 587 kullanıyorsanız genellikle STARTTLS aktif olmalıdır.
- Port 465 kullanıyorsanız genellikle STARTTLS gerekmez (SSL/TLS doğrudan kullanılır).
- Sağlayıcı dokümantasyonunu kontrol ederek doğru ayarı yapın.
Port 587 ve STARTTLS kombinasyonu çoğu modern SMTP sağlayıcısı için önerilir.
SSL Kullan (Use SSL) Ayarlama:
- SSL Kullan toggle'ını bulun.
- SMTP sunucunuz SSL/TLS gerektiriyorsa toggle'ı Aktif konumuna getirin.
- SSL etkinleştirildiğinde, isteğe bağlı olarak bir sertifika seçilebilir.
- Sertifika seçilmezse sistem varsayılan JVM sertifikaları kullanılır.
- Self-signed sertifika kullanan SMTP sunucuları için ilgili sertifikayı Gizlilik Yönetimi → Sertifikalar ekranından tanımlayıp burada seçebilirsiniz.
From (Gönderen Adresi) - Zorunlu:
- From alanına gönderen e-posta adresini girin.
- Format: Geçerli e-posta adresi formatı olmalıdır.
- Örnekler:
noreply@company.com,alerts@company.com,test@dummy.local - Bu adres tüm gönderilen e-postalarda gönderen olarak görünecektir.
- DNS/SPF kayıtlarınızın bu adresi desteklediğinden emin olun.
Auth (Kimlik Doğrulama) Ayarlama:
- Auth toggle'ını bulun.
- SMTP sunucunuz kimlik doğrulama gerektiriyorsa toggle'ı Aktif konumuna getirin.
- Çoğu modern SMTP sağlayıcısı kimlik doğrulama gerektirir.
Username (Kullanıcı Adı) - Auth açıkken zorunlu:
- Auth toggle'ı aktifse Username alanı görünür hale gelir.
- SMTP hesabınızın kullanıcı adını girin.
- Örnekler:
alert.bot,smtp.user,noreply@company.com - Bazı sağlayıcılarda kullanıcı adı tam e-posta adresi olabilir.
- SMTP sağlayıcınızın dokümantasyonundan doğru formatı kontrol edin.
Password (Şifre) - Auth açıkken zorunlu:
- Auth toggle'ı aktifse Password alanı görünür hale gelir.
- SMTP hesabınızın şifresini girin.
- Şifre güvenlik nedeniyle maskelenmiş görünecektir.
- Şifreyi görmek için göz ikonuna tıklayabilirsiniz.
- Hassas bilgiler için secret manager kullanımı önerilir.
- UI'de doğrudan timeout ve pool ayarları için alan bulunmaz.
- Bu ayarları yapmak için Additional Properties bölümünü kullanın (Adım 7'de detaylı).
- Yaygın timeout ayarları:
mail.smtp.connectiontimeout=30000(30 saniye)mail.smtp.timeout=60000(60 saniye)mail.smtp.writetimeout=120000(120 saniye - büyük ekler için)- Connection pool ayarları genellikle varsayılan değerlerle çalışır.
- Özel gereksinimler için Additional Properties'e ekleyin.
Additional Properties (Ek Özellikler) - İsteğe Bağlı:
- Additional Properties bölümünü bulun.
- SMTP sağlayıcınıza özel parametreler eklemek için bu bölümü kullanın.
- Key-Value formatında parametreler ekleyin:
- Örnek:
mail.smtp.connectiontimeout=15000 - Örnek:
mail.smtp.writetimeout=120000 - Yaygın kullanılan özellikler:
mail.smtp.connectiontimeout: Bağlantı timeout'u (milisaniye)mail.smtp.timeout: Genel timeout (milisaniye)mail.smtp.writetimeout: Yazma timeout'u (milisaniye)mail.smtp.auth.mechanisms: Kimlik doğrulama mekanizması- Her satıra bir key-value çifti ekleyin.
- SMTP sağlayıcınızın dokümantasyonundan desteklenen özellikleri kontrol edin.
AddressToTest (Test Adresi) - İsteğe Bağlı:
- AddressToTest alanını bulun.
- Test mail gönderimi için kullanılacak e-posta adresini girin.
- Bu adres, Test Connection butonuna tıklandığında test mailinin gönderileceği adrestir.
- Örnek:
dev-team@company.com,test@dummy.local - Bu alan boş bırakılabilir, ancak test yapmak için doldurulması önerilir.
DeployToWorker Ayarlama:
- DeployToWorker toggle'ını bulun.
- Yüksek trafikli senaryolarda toggle'ı Aktif konumuna getirin.
- Worker üzerinde dağıtım, yük dağılımı ve performans için önerilir.
- Varsayılan olarak aktif gelir.
- Formun alt kısmında veya sağ üst köşede [Test Connection] butonunu bulun.
- Butona tıklayın.
- Sistem bağlantı parametrelerini test eder:
- SMTP sunucusuna bağlantı kurulur
- Kimlik doğrulama yapılır (Auth aktifse)
- STARTTLS handshake yapılır (aktifse)
- Test maili gönderilir (AddressToTest doluysa)
- Test sonucu:
- Başarılı: Yeşil onay mesajı görüntülenir, "Connection test successful" gibi bir mesaj
- Başarısız: Kırmızı hata mesajı görüntülenir, hata detayları gösterilir
- Hata durumunda:
- Hata mesajını okuyun
- İlgili parametreleri kontrol edin (Host, Port, Username, Password)
- Firewall ve network ayarlarını kontrol edin
- SMTP sağlayıcı dokümantasyonunu kontrol edin
- Test başarılı olana kadar parametreleri düzeltin ve tekrar test edin.
- Tüm zorunlu alanların doldurulduğundan emin olun.
- Test connection'ın başarılı olduğunu doğrulayın (önerilir).
- Formun sağ üst köşesinde bulunan [Save and Deploy] butonuna tıklayın.
- Sistem connection'ı kaydeder ve seçilen ortama deploy eder.
- Başarılı kayıt sonrası:
- Connection listesi sayfasına yönlendirilirsiniz
- Yeni connection listede görünür
- Connection Enabled durumda olur
- Integration Flow ve Connector adımlarında kullanılabilir hale gelir
Kontrol Listesi (Kaydetmeden Önce):
- Name alanı benzersiz ve geçerli
- Host ve Port alanları doldurulmuş
- From adresi geçerli e-posta formatında
- Auth aktifse Username ve Password doldurulmuş
- Environment seçilmiş
- Test Connection başarılı (önerilir)
- Zorunlu alanların hepsi doldurulmuş
Sonuç:
- Connection başarıyla oluşturulur ve kaydedilir
- Seçilen ortamda aktif hale gelir
- Integration Flow ve Connector adımlarında connection seçimi yapılabilir
- Connection listesinde görüntülenir ve yönetilebilir
Connection başarıyla oluşturuldu! Artık Integration Flow ve Connector adımlarında kullanabilirsiniz.
Connection'ı Silme
Connection'ı silmek için:
- Connection listesinde satır sonundaki ⋮ menüsünden Delete seçeneğini tıklayın.
- Onay dialogunda silme işlemini onaylayın.
Silmeden Önce Kontrol Edin:
- Integration Flow veya Connector adımlarında kullanılıyor olabilir.
- Gerekirse alternatif bir connection atayın.
- Silmeden önce Export ile yedek alın.
- Silmek yerine connection'ın aktif durumunu pasif hale getirin.
- Connection pasif olur ancak silinmez.
- Gerektiğinde aktif hale getirerek yeniden kullanabilirsiniz.
Connection'ı Dışa/İçe Aktarma
Bu adımda kullanıcı, mevcut connection'ları yedekleme, farklı ortamlara taşıma veya paylaşma amacıyla dışa aktarabilir (export) ya da daha önce dışa aktarılmış bir connection'ı tekrar içe aktarabilir (import). Bu işlem, sürüm yönetimi, test ve üretim ortamları arasında geçiş veya ekipler arası paylaşım süreçlerinde veri bütünlüğünü korumak için kullanılır.
Dışa Aktarma (Export)
- Connection listesinde satır sonundaki ⋮ menüsünden Export seçeneğini tıklayın.
- ZIP dosyası otomatik olarak indirilir.
Format: {Date}-email-connection-{ConnectionName}-export.zip
Örnek: 13 Nov 2025-email-connection-Production_EmailSMTP-export.zip
- Connection JSON dosyası
- Metadata bilgileri
- Bağımlılık bilgileri (örneğin sertifikalar, key store)
- Yedekleme
- Ortamlar arası taşıma (Test → Prod)
- Versiyonlama
- Ekip veya proje bazlı paylaşım
İçe Aktarma (Import)
- Ana listede [Import E-Posta] butonuna tıklayın.
- İndirilen ZIP dosyasını seçin.
- Sistem kontrolleri: Format geçerli mi? İsim çakışması var mı? Bağımlılıklar mevcut mu?
- Ardından [Import] butonuna tıklayın.
Senaryo 1: İsim Çakışması → Eski connection'ın üzerine yazın veya yeni bir isimle oluşturun.
Senaryo 2: Eksik Bağımlılıklar → Eksik sertifikaları veya key store'ları önce oluşturun veya import sırasında çıkarın.
Connection'ın Kullanım Alanları
Adımlar:
- Connection'ı oluşturun.
- Test Connection ile bağlantıyı doğrulayın.
- Save and Deploy ile kaydedin ve etkinleştirin.
- Connection'ın Enabled durumda olduğundan emin olun.
E-posta gönderimi gerektiren adımlarda connection seçilir. Örnek: "Send Email", "Email Notification", "Email Alert" gibi adımlar. Bağlantı seçimi bu adımların yapılandırmasında yer alan Connection alanından yapılır.
Zamanlanmış görevlerde (ör. belirli aralıklarla e-posta gönderme, raporlama vb.) bağlantı seçilerek SMTP sunucularına erişim sağlanır. Connection deği ştiğinde, job çalışma davranışı da buna göre güncellenir.
Connection Test özelliği ile bağlantının doğruluğu Integration Flow'dan bağımsız olarak kontrol edilebilir. Bu test hata ayıklama sürecinde kritik önem taşır.
Best Practices
Yapılması Gerekenler ve En İyi Uygulamalar
Kötü: Aynı Connection ile farklı sağlayıcıları yönetmek.
İyi: Her sağlayıcı için ayrı Connection açmak.
En İyi: Ortam + sağlayıcı kombinasyonunu isimde belirtmek (Prod_SendGrid)
Kötü: from alanını rastgele adreslerle değiştirmek.
İyi: İş süreçlerine göre anlamlı adresler kullanmak.
En İyi: DMARC/SPF kayıtlarıyla uyumlu kurumsal alias tanımlamak
Kötü: Paylaşılan şifreleri hiç güncellememek.
İyi: Manuel periyotlarla döndürmek.
En İyi: Secret manager üzerinden rotasyon otomasyonu kurmak
Kötü: additionalProperties alanını boş bırakmak.
İyi: Sadece ihtiyaç duyulan anahtarları eklemek.
En İyi: Sağlayıcı dökümantasyonundaki tüm zorunlu SMTP property'lerini kayıt altına almak
Kötü: Tüm ortamlarda aynı connection parametrelerini kullanmak.
İyi: Her ortam için ayrı connection oluşturmak.
En İyi: Environment seçeneğini kullanarak tek connection'da tüm ortamları yönetmek, ortamlar arası geçişte sadece environment değiştirmek
Kötü: Connection'ı test etmeden kaydetmek ve deploy etmek.
İyi: Kaydetmeden önce Test Connection ile doğrulamak.
En İyi: Her parametre değişikliğinden sonra test etmek, production'a geçmeden önce test ortamında tam entegrasyon testi yapmak
Güvenlik En İyi Uygulamaları
Auth açıkken kullanıcı adı/parolayı sadece gerekli roller görebilmeli. Şifreleri UI üzerinden kopyalayıp paylaşmayın
enable/disable yetkilerini sadece e-posta altyapısından sorumlu ekiplerle sınırlandırın; yanlış yapılandırma tüm bildirimleri durdurabilir
additionalProperties içinde hassas anahtarlar varsa değerleri maskelenmiş secret referansları ile tutun
Kullanıcı adı ve şifre gibi hassas bilgileri environment variable veya secret manager kullanarak saklayın. Kimlik bilgilerini kod veya konfigürasyon dosyalarına hardcode etmeyin. Periyodik olarak şifreleri güncelleyin
Production ortamında mutlaka SSL/TLS aktif edin. Self-signed sertifikalar sadece development ortamında kullanın. Sertifika expiration tarihlerini takip edin ve zamanında yenileyin
Connection yapılandırmasını sadece yetkili kullanıcıların değiştirmesine izin verin. Connection değişiklik loglarını saklayın. Kritik connection'lar için değişiklik approval süreci uygulayın
Kaçınılması Gerekenler
Neden kaçınılmalı: Birincil SMTP hizmeti kesildiğinde tüm e-posta akışı durur.
Alternatif: İkincil host'u additionalProperties veya ayrı Connection ile tanımlayın
Neden kaçınılmalı: Şifre sızıntısı tüm süreçleri etkiler.
Alternatif: Her uygulama için ayrı kullanıcı hesabı açın, erişimleri denetleyin
Neden kaçınılmalı: SPF/DKIM uyumsuzluğu e-postaların spam klasörüne düşmesine neden olur.
Alternatif: Onaylı domain alias'ları kullanın ve DNS kayıtlarını güncel tutun
Neden kaçınılmalı: Test verileri production sistemine yazılabilir, gerçek kullanıcılar etkilenebilir, güvenlik riski oluşur.
Alternatif: Her ortam için ayrı connection oluşturun, environment parametresini kullanın, connection isimlerini ortama göre prefix ekleyerek ayırın (Test_, Prod_)
Neden kaçınılmalı: Ağ gecikmelerinde connection sürekli timeout olur, Entegrasyon adımları başarısız olur.
Alternatif: Gerçek kullanım senaryolarına göre timeout değerlerini ayarlayın, network latency'yi ölçün ve timeout'ları buna göre belirleyin
Neden kaçınılmalı: Her istekte yeni bağlantı açılır, performans düşer, kaynak tüketimi artar, hedef sistem yükü artar.
Alternatif: Connection pool aktif edin, pool size'ı trafik hacmine göre ayarlayın, pool monitoring kurun
Performans İpuçları
Öneri: Aynı datacenter'daki SMTP hostlarını tercih edin.
Etki: Ağ gecikmesi düşer, timeout riski azalır
Öneri: mail.smtp.connectiontimeout, mail.smtp.writetimeout değerlerini gerçek yük testlerine göre ayarlayın.
Etki: Büyük eklerde bile istikrarlı performans
Öneri: CI/CD'de Test Connection API'sini tetikleyin.
Etki: Yanlış konfigürasyonlar üretime taşınmadan yakalanır
Öneri: Pool size'ı peak trafiğe göre ayarlayın (önerilen: eşzamanlı istek sayısı × 1.5), idle connection timeout'ları belirleyin, pool health check yapın.
Etki: Bağlantı açma maliyeti %80 azalır, yanıt süreleri düşer, kaynak kullanımı optimize edilir
Öneri: Gerçek network latency'yi ölçün, timeout değerlerini buna göre ayarlayın, çok düşük veya çok yüksek timeout'lardan kaçının.
Etki: Gereksiz beklemeler önlenir, hızlı fail-over sağlanır, kullanıc ı deneyimi iyileşir
Öneri: Connection pool kullanımını izleyin, timeout oranlarını takip edin, connection health check yapın, alerting kurun.
Etki: Sorunlar proaktif tespit edilir, performans darboğazları erken belirlenir, kesinti süresi azalır
Sorun Giderme (Troubleshooting)
E-Posta Teslim Edilmiyor
Yanlış from domain, SMTP sağlayıcısı engelledi veya TLS zorunlu ama devre dışı olabilir.
DNS/SPF kayıtlarını doğrulayın.
Provider loglarını kontrol edin.
Enable STARTTLS toggle'ını açıp yeniden test edin.
Test Mail Başarısız
addressToTest geçersiz, Auth bilgileri yanlış veya SMTP portu firewall'da kapalı olabilir.
Test adresini güncelleyin.
Credential'ları yeniden girin.
Network ekibinden port açılımını doğrulatın.
Connection Timeout
Network gecikmesi, hedef sistem yavaş yanıt veriyor veya timeout değeri çok düşük olabilir.
Network connectivity kontrol edin.
Hedef sistem sağlığını kontrol edin.
Timeout değerlerini artırın.
Connection loglarını inceleyin.
Authentication Failed
Yanlış kullanıcı adı/şifre, expired credentials veya yetki problemi olabilir.
Kimlik bilgilerini doğrulayın.
Hedef sistemde kullanıcının aktif olduğunu kontrol edin.
Gerekli yetkilerin verildiğini kontrol edin.
SSL/TLS sertifikalarını kontrol edin.
Pool Exhausted
Pool size çok düşük, connection leak var veya trafik çok yüksek olabilir.
Pool size'ı artırın.
Connection'ların düzgün kapatıldığını kontrol edin.
Idle connection timeout'ları ayarlayın.
Connection kullanım metriklerini izleyin.
Connection Test Başarılı Ama Entegrasyon Akışı Hata Veriyor
Integration/Connector adımında farklı connection seçili olabilir, adım yanlış yapılandırılmış olabilir veya Flow/Job redeploy edilmemiş olabilir.
Connection'ın enable toggle'ının aktif olduğunu kontrol edin.
Integration Flow'da doğru connection'ın seçildiğini doğrulayın.
Connection'ı tekrar deploy edin.
Integration Flow veya Job'ı redeploy edin.
Gateway loglarını kontrol edin.
Sık Sorulan Sorular (SSS)
E-Posta Connection'da birden fazla gönderen adres tutabilir miyim?
Tek Connection tek from adresi taşıyabilir; farklı adresler için klonlayarak ayrı Connection oluşturun veya application-level override kullanın.
STARTTLS zorunlu olmayan sağlayıcıda TLS'i aktif etsem sorun olur mu?
Çoğu SMTP sunucusu STARTTLS komutunu destekler, desteklenmiyorsa handshake aşamasında hata alırsınız; bu durumda toggle'ı kapatın.
Additional Properties alanına hangi key/value'ları ekleyebilirim?
Sağlayıcının JavaMail uyumlu parametreleri (mail.smtp.connectiontimeout, mail.smtp.auth.mechanisms vb.) desteklenir; key ve value serbest metindir.
Test Connection ile gerçek alıcılara mail gider mi?
Hayır, sadece addressToTest alanına girilen adrese tek mail gönderilir; Integration Flow tetiklenmez.
Bu Connection'ı connector modunda da kullanabilir miyim?
Evet, connector ekranından connectorMode aktif edildiğinde aynı form kullanılır ve kaydettiğiniz Connection listede görünür.
Aynı connection'ı birden fazla Integration Flow'da kullanabilir miyim?
Evet, aynı connection birden fazla Integration Flow veya Connector adımında kullanılabilir. Bu merkezi yönetim sağlar ve konfigürasyon tutarlılığını garanti eder. Ancak connection'da yapılan değişiklikler tüm kullanım yerlerini etkileyeceği için dikkatli olunmalıdır.
Connection pool kullanmak zorunlu mudur?
Connection pool kullanımı zorunlu değildir ancak yüksek trafikli sistemlerde şiddetle önerilir. Her istekte yeni bağlantı açmak yerine mevcut bağlantıları yeniden kullanmak performansı önemli ölçüde artırır.
Test ve Production için farklı connection'lar mı oluşturmalıyım?
Evet, her ortam için ayrı connection oluşturmanız önerilir. Alternatif olarak environment parametresini kullanarak tek connection içinde tüm ortamları yönetebilirsiniz. Bu yaklaşım daha kolay yönetim ve daha az hata riski sağlar.
Test Connection başarılı ama Integration Flow'da çalışmıyor, neden?
Birkaç neden olabilir:
- Connection enable toggle'ı pasif olabilir
- Integration adımında farklı bir connection seçili olabilir
- Connection deploy edilmemiş olabilir
- Integration Flow henüz redeploy edilmemiş olabilir