Ana içeriğe geç
MailLand

İşlemsel e-posta API'si

Ürününüzün gönderdiği her e-posta için tek bir REST çağrısı

Makbuzları, parola sıfırlamalarını, uyarıları ve hesap bildirimlerini POST /v1/transactional/send üzerinden gönderin. MailLand isteği kontrol eder, her mesajı alan adınızın DKIM anahtarıyla imzalar, kendi posta sunucularına teslim eder ve mesajın akıbetini size bildirir. Sunucular Almanya'da, Hetzner'de çalışır.

curl -X POST https://api.mail.land/v1/transactional/send \
  -H "X-API-Key: ml_pet_..." \
  -H "X-Idempotency-Key: order-1042-receipt" \
  -H "Content-Type: application/json" \
  -d '{
    "from": { "email": "[email protected]", "name": "Your App" },
    "to": [{ "email": "[email protected]", "name": "Jane" }],
    "subject": "Your receipt for order 1042",
    "htmlContent": "<p>Thanks, Jane. Your payment was received.</p>",
    "textContent": "Thanks, Jane. Your payment was received.",
    "tags": ["receipt"]
  }'
Eksiksiz bir istek. API, her alıcı için bir mesaj kimliğiyle 202 Accepted yanıtı verir.

API'yi çağırdıktan sonra neler olur

Her biri yanıtta, mesaj kaydında veya bir webhook'ta görebileceğiniz dört aşama.

  1. Kontrol edildi

    API; gönderen alan adını, anahtarınızın kapsamını ve sınırlarını ve her alıcıyı kontrol eder. Engelleme listesindeki adresler reddedilir ve rejectedRecipients içinde listelenir; yazım hatası ve tek kullanımlık alan adı koruması açıksa bu adresler de, yazım hatası için önerilen bir düzeltmeyle birlikte listelenir.

  2. Kuyruğa alındı

    Kabul edilen her mesaj, API 202 Accepted yanıtını vermeden önce MailLand'in veritabanına yazılır, ardından teslim kuyruğuna aktarılır. Yanıt; iş kimliğini, her alıcı için bir mesaj kimliğini ve kuyruğa alınma zamanını içerir; zamanlanmış bir gönderim ise bunların yerine bir zamanlama kimliği döndürür.

  3. İmzalandı ve gönderildi

    Her alıcı, kendi mesaj kimliğine sahip ve görünür Cc içermeyen ayrı bir kopya alır; bu kopya alan adınızın DKIM anahtarıyla imzalanır ve MailLand'in paylaşılan gönderim IP adreslerinden gönderilir.

  4. Bildirildi

    Teslim edildi, ertelendi, geri döndü, başarısız oldu ve şikâyet olayları webhook'unuza ve mesaj kaydına ulaşır. Her olay bir durum sürümü taşır; böylece olayları doğru sırayla uygulayabilirsiniz.

API'nin size sundukları

Bunların her biri, örneklerle belgelenmiş bir alan, başlık veya uç noktadır.

  • Değişkenli kayıtlı şablonlar

    HTML ve metin şablonlarını MailLand'de saklayın ve {{placeholders}} alanlarını her alıcı için doldurun. Bir değişkenin değeri yoksa mesaj, doldurulmamış yer tutucuyla gönderilmez: API 422 yanıtı verir ve eksik olanı belirtir.

  • Idempotency anahtarları

    Gönderimle birlikte bir X-Idempotency-Key başlığı iletin. Aynı anahtarla 24 saat içinde yapılan yeniden deneme özgün yanıtı döndürür ve hiçbir şey göndermez; böylece ağ zaman aşımından sonra yeniden denemek ikinci bir kopya göndermez.

  • Zamanlanmış gönderimler

    En fazla 7 gün sonrası için gönderim yapmak üzere scheduledAt ekleyin. Zamanlanmış bir mesajı gönderilmeden önce API üzerinden listeleyin, yeniden zamanlayın veya iptal edin.

  • Ekler ve satır içi görseller

    Mesaj başına en fazla 10 dosya ve 10 MiB ekleyin; HTML'inizin Content-ID ile başvurduğu satır içi görseller de buna dahildir.

  • Etiketler ve özel başlıklar

    Mesajları analizlerde, kayıtlarda ve webhook'larda filtrelemek için etiketleyin, kendi başlıklarınızı ekleyin ve her mesaj için bir yanıt adresi belirleyin.

  • Ön kontrol

    GET /v1/transactional/send/check, hesabınızın şu anda gönderim yapıp yapamayacağını, güncel hız sınırı kullanımı ve aylık kotasıyla birlikte bildirir. Belirli bir göndereni veya alıcıyı kontrol etmez.

  • Sandbox anahtarları

    Bir sandbox anahtarı istekleri teslim etmeden kabul edip kaydeder ya da yalnızca sizin denetlediğiniz bir izin listesine teslim eder; böylece test e-postaları yalnızca seçtiğiniz adreslere ulaşır.

  • Kapsamı sınırlanabilen anahtarlar

    Her anahtarı tek bir akışla, seçili gönderim alan adlarıyla, bir IP izin listesiyle, dakikalık, saatlik ve günlük sınırlarla ve bir son kullanma tarihiyle sınırlayın. Anahtarı panelden veya API üzerinden yenileyin.

Her mesajın akıbetini öğrenin

Bir isteği kabul etmek işin yalnızca yarısıdır. MailLand sonrasında neler olduğunu size bildirir.

  • İmzalı webhook'lar

    Teslim edildi, ertelendi, geri döndü, başarısız oldu ve şikâyet olaylarına abone olun. Her istek X-MLND-Signature başlığında HMAC-SHA256 ile imzalanır ve uç noktanız başarısız olduğunda yeniden denenir.

  • Mesaj kaydı

    Herhangi bir mesajı kimliğiyle bulun ve geçmişindeki her olayı görün. Kayıtlar, planınıza bağlı olarak 30, 90 veya 180 gün saklanır.

  • Otomatik engelleme

    Kalıcı geri dönmeler ve şikâyetler otomatik olarak engelleme listenize eklenir ve bu adreslere yapılan sonraki gönderimler çıkmadan önce reddedilir.

Yalnızca büyüyen bir v1

API'nin 1. sürümü yalnızca eklemeli olarak değişir: yeni alanlar ve olaylar eklenebilir, ancak hiçbir şey kaldırılmaz ve hiçbir şeyin anlamı değişmez. Uyumluluğu bozan bir değişiklik, en az 180 gün önceden duyurularak /v2 olarak yayımlanır ve /v1 onunla birlikte 180 gün çalışmaya devam eder.

Her dilde sade HTTPS

MailLand'in henüz bir SDK'sı yok. API, X-API-Key başlığıyla HTTPS üzerinden JSON kullanır; yedi dilde sunulan belgeler her isteği curl, JavaScript, Node.js, Python, PHP, C#, Java ve Go ile gösterir.

Uyumluluk politikasını okuyun

AB'de barındırılır

MailLand'in sunucuları Almanya'da, Hetzner'de, ağırlıklı olarak Nürnberg'de çalışır ve şifrelenmiş bir yedek kopya Polonya'nın Varşova kentinde tutulur. Cloudflare ve Stripe gibi birkaç alt işleyen, AB Standart Sözleşme Maddeleri kapsamında sınırlı verileri AB dışında işleyebilir. VİS bunların her birini listeler.

VİS'i okuyun

İşlemsel e-posta API'si hakkında sorular

Ücretsiz bir plan var mı?

Evet. Free planı, ücretli planlarla aynı REST API ve SMTP rölesiyle birlikte ayda 1.000 e-postayı ücretsiz sunar. Başlamak için kredi kartı gerekmez.

SDK'larınız var mı?

Henüz yok. API, HTTPS üzerinden JSON kullanır; bu nedenle her HTTP istemcisiyle çalışır. Belgelerde curl, JavaScript, Node.js, Python, PHP, C#, Java ve Go için kopyalayıp yapıştırabileceğiniz örnekler bulunur.

Bir yeniden denemenin e-postayı iki kez göndermemesini nasıl sağlarım?

POST /v1/transactional/send veya send-batch ile birlikte bir X-Idempotency-Key başlığı (ya da idempotencyKey alanı) gönderin. Aynı anahtarla 24 saat içinde yapılan yeniden deneme özgün yanıtı döndürür ve hiçbir şey göndermez. Anahtar kabul eden uç noktalar yalnızca bu ikisidir.

Tek bir istek birçok alıcıya gidebilir mi?

İşlemsel bir istek en fazla 5 alıcı alır ve her biri ayrı bir kopya alır. Toplu gönderim için, istek başına en fazla 10.000 alıcı alan POST /v1/transactional/send-batch ile bir pazarlama anahtarı kullanın.

Bir mesaj geri döndüğünde ne olur?

Kalıcı bir geri dönme veya şikâyet, adresi engelleme listenize ekler ve webhook'unuza bir olay olarak gönderilir. Bu adrese yapılan sonraki gönderimler reddedilir ve rejectedRecipients içinde listelenir.

Gönderim sınırları nelerdir?

Her plan, fiyatlandırma sayfasında gösterilen aylık bir hacim ve dakika başına bir gönderim hızı belirler. Bir anahtarın kendine ait daha düşük sınırları olabilir. Bir sınır aşıldığında API, Retry-After başlığıyla 429 yanıtı verir.

İlk e-postanızı bugün gönderin

Ücretsiz bir hesap oluşturun, alan adınızı doğrulayın ve API'yi çağırın. Ayda 1.000 e-posta ücretsizdir.