Custom Mail Provider

Custom Mail Provider, uygulamanızın e-posta gönderim sürecini kendi belirlediğiniz bir altyapı veya üçüncü parti servis üzerinden yapmanızı sağlar. Bu yapı sayesinde Kuika'nın varsayılan e-posta gönderim mekanizması yerine kendi SMTP sunucunuzu, bir e-posta gönderim API'sini (örneğin SendGrid, Mailgun, Amazon SES) veya kurum içi bir mail altyapısını devreye alabilirsiniz.

Şu senaryolarda kullanılabilir:

  • Uygulamanın, Kuika'nın varsayılan mail sağlayıcısı yerine kurumun kendi SMTP sunucusunu kullanması gerektiğinde,
  • E-posta gönderimlerinin üçüncü parti bir servis üzerinden yapılması istendiğinde,
  • Gönderim mantığının (örneğin loglama, ek doğrulama) özelleştirilmesi gerektiğinde,
  • Farklı ortamlar veya farklı tenant'lar için farklı mail sağlayıcılarının kullanılması gerektiğinde.

Oluşturma adımları:

  1. C# Functions'ı seçin ve bir ad girin.
  2. Template alanından Custom Mail Provider şablonunu seçin.
  3. CREATE butonuna tıklayın.

Custom Mail Provider Sınıfı

Şablondaki CustomMailClient sınıfı, ICustomMailClient arayüzünü uygular ve uygulama içinden tetiklenen e-posta gönderim isteklerini karşılar.

request parametresi: Gönderilmeye hazır e-postayı içerir:

  • Subject: E-postanın konusu
  • Body: Gönderime hazır HTML içerik. Bildirim şablonları çözümlenmiş ve @parametreler yerine konmuş olarak gelir.
  • Sender: Gönderen adresi
  • Receivers, Cc, Bcc: Alıcı adresleri
  • Attachments: Ekler
  • InlineImages: Gövdeye gömülü görseller

Dikkat edilmesi gerekenler:

  • Sender boş gelebilir. Kuika'nın yerleşik sağlayıcıları bu durumda kendi SMTP/AWS ayarlarındaki From adresini kullanır; ancak özel sağlayıcı seçiliyken bu ayarlar okunmaz. Bu nedenle kendi varsayılan gönderen adresinizi kod içinde tanımlayın.
  • Cc ve Bcc ham metin olarak gelir ve "," veya ";" ile ayrılmış birden fazla adres içerebilir.
  • Attachments, dosya adı ve base64 içerik (FileContentBase64) olarak gelir. Eklerin iletilip iletilmediği kontrol edilmez; eksiz teslim edilen bir e-posta da başarılı sayılır. API'nizin boyut sınırlarını da kendiniz kontrol etmelisiniz.
  • InlineImages, gövdede "cid:ContentId" biçiminde referans verilen görsellerdir. API'niz inline görselleri desteklemiyorsa görselleri yükleyip cid referanslarını URL'lerle değiştirmeniz gerekir; aksi hâlde görseller kırık görünür.

Dönüş değeri: Success = true, e-postanın teslim edildiğini değil, kabul edildiğini ifade eder. Bu değeri yalnızca API'niz e-postayı onayladıktan sonra (2xx veya kuyruğa alındıysa 202) döndürün. Aksi hâlde platform, hiç gönderilmemiş olabilecek bir e-postayı başarılı olarak raporlar. Sonradan oluşan geri dönmeler (bounce) uygulamaya bildirilmez.

Mail sağlayıcısına ait API anahtarı, kullanıcı adı, şifre gibi hassas bilgiler kod içinde güvenli biçimde saklanmalı ve loglanmamalıdır.