Mailtrap

resmi

Mailtrap Email API ile entegre olur.

Mailtrap MCP ile neler yapabilirsiniz?

  • İşlemsel e-posta gönderme — Asistandan konu ve metin veya HTML gövdesi içeren bir e-posta göndermesini, isteğe bağlı olarak bir şablon ve değişkenler kullanmasını isteyin.
  • E-posta Sandbox’ında test etme — Gerçek alıcılara ulaşmadan mesajları bir sandbox’a gönderin ve içeriklerini, başlıklarını ve eklerini inceleyin.
  • Günlüklerle teslimatı hata ayıklama — Gönderilen e-posta günlüklerini listeleyip filtreleyin, ardından etkinlik geçmişini ve teslimat durumunu incelemek için belirli bir mesajı açın.
  • Gönderim istatistiklerini analiz etme — Bir tarih aralığı için teslimat, geri dönme, açılma, tıklanma ve spam oranlarını alan adına, kategoriye veya tarihe göre ayrıntılı olarak alın.
  • Şablonları yönetme — Mailtrap hesabınızda saklanan e-posta şablonlarını oluşturun, listeleyin, güncelleyin ve silin.
  • Alan adlarını ve engellemeleri yönetme — Alan adlarını listeleyin, DNS kurulum talimatlarını alın ve engellenen adresleri inceleyin veya kaldırın.

Dokümantasyon

TypeScript test NPM

Resmî Mailtrap MCP Sunucusu

E-posta teslimat platformu Mailtrap için resmî MCP sunucusu. Mailtrap hesabınızı Claude, Cursor, VS Code ve MCP uyumlu diğer yapay zekâ asistanlarına bağlar.

Doğal dildeki istemleri kullanarak işlemsel ve toplu e-posta gönderin, Email Sandbox'da iletileri güvenle test edin, şablonları, kişileri, alan adlarını ve web kancalarını yönetin, e-posta günlüklerini ve teslimat istatistiklerini inceleyin, teslim edilebilirlik sorunlarını giderin ve hesap kaynaklarını yönetin.

Özellikler

  • E-posta API'si ve SMTP — Toplu ve şablon tabanlı iletiler de dahil olmak üzere işlemsel ve toplu e-posta gönderin.
  • E-posta testi — İletileri Email Sandbox'da test edin; içeriği, üst bilgileri, ekleri, spam puanlarını ve HTML istemci uyumluluğunu inceleyin.
  • Teslimat izleme — E-posta günlüklerinde arama yapın, etkinlik geçmişini inceleyin ve teslimat, geri dönme, açılma, tıklanma ve spam oranlarını analiz edin.
  • E-posta altyapısı — Alan adlarını, DNS doğrulamasını, web kancalarını ve bastırma listelerini yönetin.
  • Kişiler — İçe ve dışa aktarma işlemleriyle birlikte kişileri, listeleri, özel alanları ve etkinlikleri yönetin.
  • Hesap yönetimi — Faturalandırma kullanımını inceleyin; erişimi, izinleri, API belirteçlerini ve alt hesapları yönetin.

Desteklenen MCP İstemcileri

Claude Desktop, Claude Code, Cursor, VS Code ve MCP uyumlu diğer tüm istemcilerle çalışır. Her biri için kurulum talimatları aşağıdadır.

Ön koşullar

Bu MCP sunucusunu kullanmadan önce şunları yapmanız gerekir:

  1. Bir Mailtrap hesabı oluşturun
  2. Alan adınızı doğrulayın
  3. Mailtrap API ayarlarından API belirtecinizi alın
  4. Mailtrap hesap yönetiminden Hesap Kimliğinizi alın
  5. Docker imajını çalıştırmıyorsanız Node.js 22 veya üzeri sürümünü yükleyin

Gerekli Ortam Değişkenleri:

  • MAILTRAP_API_TOKEN - Tüm işlevler için gereklidir
  • MAILTRAP_ACCOUNT_ID - Şablonlar, get-sending-stats, e-posta günlükleri, sandbox list/show, alan adları ve bastırma listeleri için gereklidir. Yalnızca gönderme araçları (send-email, send-sandbox-email ve batch-send-* araçları), e-posta kampanyası araçları, get-marketing-stats, şirket bilgisi araçları, izleme devre dışı bırakma araçları ve list-accounts için isteğe bağlıdır.

İsteğe bağlı (bunun yerine araç parametreleri olarak geçirilebilir):

  • DEFAULT_FROM_EMAIL - send-email, send-sandbox-email veya batch-send-* araçlarına from sağlanmadığında kullanılacak varsayılan gönderen e-posta adresi (base.from alanını doldurduğu yerlerde). from parametresiyle her çağrıda göndereni değiştirmeyi sağlar.
  • MAILTRAP_SANDBOX_ID - Bir aracın sandbox_id parametresi sağlanmadığında kullanılacak varsayılan sandbox kimliği (sandbox ileti gönderme/listeleme/görüntüleme araçlarında eski test_inbox_id parametresi de kabul edilir). Parametrelerle her çağrıda sandbox değiştirmeyi sağlar.
  • MAILTRAP_TEST_INBOX_ID - MAILTRAP_SANDBOX_ID için kullanımdan kaldırılmış takma ad; mevcut yapılandırmalar için yedek değer olarak okunmaya devam eder ve kullanıldığında stderr'e kullanımdan kaldırılma uyarısı yazar.
  • MAILTRAP_ORGANIZATION_ID - Kuruluş araçları (list-sub-accounts, create-sub-account, delete-sub-account) için gereklidir.
  • MAILTRAP_ORGANIZATION_API_TOKEN - Kuruluş kapsamlı API belirteci. Kuruluş araçları için gereklidir (MAILTRAP_API_TOKEN değerinden ayrıdır).

Hızlı Kurulum

Install in Cursor

Install with Node in VS Code

Docker

Sunucuyu stdio üzerinden Docker MCP Catalog imajıyla çalıştırın:

docker run --rm -i \
  -e MAILTRAP_API_TOKEN="${MAILTRAP_API_TOKEN}" \
  -e MAILTRAP_ACCOUNT_ID="${MAILTRAP_ACCOUNT_ID}" \
  -e DEFAULT_FROM_EMAIL="${DEFAULT_FROM_EMAIL}" \
  -e MAILTRAP_SANDBOX_ID="${MAILTRAP_SANDBOX_ID}" \
  -e MAILTRAP_ORGANIZATION_ID="${MAILTRAP_ORGANIZATION_ID}" \
  -e MAILTRAP_ORGANIZATION_API_TOKEN="${MAILTRAP_ORGANIZATION_API_TOKEN}" \
  mcp/mailtrap

Gerekli ve isteğe bağlı ortam değişkenleri için Ön koşullar bölümüne bakın.

Bu depodan derlemek için: docker build -t mcp/mailtrap .

Smithery CLI

Smithery, yapay zekâ istemcileriyle çalışan MCP sunucuları için bir kayıt defteri ve yükleyicidir.

Yayımlanmış sunucuyu (mailtrap/mailtrap-mcp) yerel bir istemciye yükleyin (gerektiğinde istemci adını değiştirin):

npx -y smithery mcp add mailtrap/mailtrap-mcp --client claude

Diğer istemciler (cursor, windsurf vb.) ve güncellemeleri yayımlama hakkında bilgi için Smithery CLI belgelerine bakın.

Kurulum

Claude Desktop

Mailtrap sunucusunu yüklemek için MCPB kullanın. Dosyaları Releases bölümünde bulabilirsiniz.
MCPB dosyasını indirin ve açın. Claude Desktop kullanıyorsanız dosya açılır ve yapılandırma önerilir.

Claude Desktop veya Cursor

Aşağıdaki yapılandırmayı ekleyin:

{
  "mcpServers": {
    "mailtrap": {
      "command": "npx",
      "args": ["-y", "mcp-mailtrap"],
      "env": {
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "your_sender@example.com",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
      }
    }
  }
}

Node.js yönetimi için asdf kullanıyorsanız yürütülebilir dosyanın mutlak yolunu kullanmanız gerekir (Mac örneği):

{
  "mcpServers": {
    "mailtrap": {
      "command": "/Users/<username>/.asdf/shims/npx",
      "args": ["-y", "mcp-mailtrap"],
      "env": {
        "PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
        "ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
        "ASDF_DATA_DIR": "/Users/<username>/.asdf",
        "ASDF_NODEJS_VERSION": "22.14.0",
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "your_sender@example.com",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
      }
    }
  }
}

Claude Desktop yapılandırma dosyasının konumu

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor yapılandırma dosyasının konumu

Mac: ~/.cursor/mcp.json

Windows: %USERPROFILE%\.cursor\mcp.json

VS Code

Yapılandırmayı elle değiştirme

Komut Paleti'nde şunu çalıştırın: Preferences: Open User Settings (JSON)

Ardından ayarlar dosyasına aşağıdaki yapılandırmayı ekleyin:

{
  "mcp": {
    "servers": {
      "mailtrap": {
        "command": "npx",
        "args": ["-y", "mcp-mailtrap"],
        "env": {
          "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
          "DEFAULT_FROM_EMAIL": "your_sender@example.com",
          "MAILTRAP_ACCOUNT_ID": "your_account_id",
          "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
        }
      }
    }
  }
}

[!TIP] "env" bölümünü değiştirdikten sonra MCP sunucunuzu yeniden başlatmayı unutmayın.

MCP Bundle (MCPB)

MCP Bundle'larını destekleyen ana bilgisayarlara kolayca yüklemek için bir .mcpb bundle dosyası dağıtabilirsiniz.

# Build TypeScript and pack the MCPB bundle
npm run mcpb:pack

# Inspect bundle metadata
npm run mcpb:info

# Sign the bundle for distribution (optional)
npm run mcpb:sign

Bu işlem mailtrap-mcp.mcpb oluşturur. Betik dist/, manifest.json, icon.png ve lisansı mcpb-build/ içine kopyalar, üretim bağımlılıklarını buraya yükler ve yalnızca bu dizini paketler. mcpb pack . komutunu deponun kök dizininden çalıştırmayın.

Kullanım

Yapılandırma tamamlandıktan sonra ajandan e-posta göndermesini ve şablonları yönetmesini isteyebilirsiniz. Örneğin:

E-posta Gönderme İşlemleri:

  • "john.doe@example.com adresine 'Meeting Tomorrow' konulu bir e-posta gönder ve yaklaşan toplantımızı dostça hatırlat."
  • "Proje güncellemesi hakkında sarah@example.com adresine e-posta gönder ve team@example.com adresindeki ekibi CC'ye ekle."
  • "Yeni@example.com adresine { name: 'Alex' } değişkenleriyle karşılama şablonunu (uuid b81aabcd-1a1e-41cf-91b6-eca0254b3d96) gönder."
  • "Karşılama e-postamızın nasıl göründüğünü önizlemek için test@example.com adresine 'Test Template' konulu bir sandbox e-postası gönder."

E-posta Günlükleri (teslimat sorunlarını ayıklama):

  • "Son gönderdiğim e-posta günlüklerini listele."
  • "user@example.com adresine gönderilen e-postaların günlüklerini göster."
  • "Teslimat durumunu kontrol etmek için abc-123-uuid kimlikli e-posta günlüğü iletisini getir."

İstatistikler:

  • "Ocak 2025 için gönderim istatistiklerini getir."
  • "Geçen ayın alan adına göre ayrılmış teslimat oranlarını göster."
  • "2025-01-01 ile 2025-01-31 arasındaki kategoriye göre e-posta istatistiklerim neler?"
  • "E-posta pazarlama çalışmalarım geçen ay nasıl performans gösterdi? Kampanyaları otomasyonlarla karşılaştır."

Sandbox İşlemleri:

  • "Sandbox'ımdaki tüm iletileri getir."
  • "Sandbox iletilerinin ilk sayfasını göster."
  • "Sandbox'ımda 'test' içeren iletileri ara."
  • "42 numaralı projede 'QA' adlı bir sandbox oluştur ve SMTP kimlik bilgilerini ver."
  • "1234 numaralı sandbox'taki tüm iletileri sil."
  • "5159037506 kimlikli sandbox iletisinin ayrıntılarını göster."

Şablon İşlemleri:

  • "Mailtrap hesabımdaki tüm e-posta şablonlarını listele."
  • "'Welcome Email' adlı, konusu 'Welcome to our platform!' olan yeni bir e-posta şablonu oluştur."
  • "12345 kimlikli şablonun konusunu 'Updated Welcome Message' olarak değiştir."
  • "67890 kimlikli şablonu sil."

Alan Adları:

  • "Alan adlarımı listele."
  • "3938 kimlikli alan adını getir."
  • "example.com için bir alan adı oluştur."
  • "3938 numaralı alan adı için tıklama izlemeyi aç."
  • "3938 numaralı alan adını sil."
  • "3938 numaralı alan adını DNS kurulum talimatlarıyla birlikte getir."
  • "3938 numaralı alan adının şirket bilgilerini göster."
  • "3938 numaralı alan adının şirket bilgilerini Acme Inc, 123 Main St, San Francisco, US, 94105, https://acme.com olarak ayarla."
  • "3938 numaralı alan adının şirket bilgileri şehrini New York olarak değiştir."

Bastırma Listeleri:

İzleme İzni İptalleri:

  • "3938 numaralı alan adında privacy@example.com için açılma ve tıklama izlemeyi durdur."
  • "İzlemeyi devre dışı bırakan herkesi listele."

Kişiler ve Listeler:

  • "john.doe@example.com adresini bülten kişi listeme ekle."
  • "Tüm kişi listelerimi göster."
  • "Kişilerin nereden geldiğini izlemek için 'signup_source' adlı bir kişi alanı oluştur."
  • "john.doe@example.com kişisinin planını 'pro' olarak ayarla."
  • "Bu CSV'deki kişileri başlangıç listeme aktar."
  • "Bülten listemdeki tüm kişileri dışa aktar."
  • "john.doe@example.com kişisi için bir 'trial_started' etkinliği kaydet."

Web Kancaları:

  • "Hesabımda yapılandırılmış tüm web kancalarını listele."
  • "Geri dönme ve spam etkinlikleri için https://example.com/hooks/mailtrap adresine yönlendiren bir web kancası oluştur."
  • "4821 numaralı web kancasını teslimat etkinliklerini de gönderecek şekilde güncelle."
  • "4821 numaralı web kancasını sil."

Hesap ve Faturalandırma:

  • "Bu ayki mevcut faturalandırma kullanımım nedir?"
  • "Planımda kaç e-posta gönderme hakkım kaldı?"
  • "Bu Mailtrap hesabına erişimi olan herkesi listele."
  • "Hesabımda kullanılabilen izin kaynaklarını göster."

API Belirteçleri:

  • "Hesabımdaki tüm API belirteçlerini listele."
  • "Hazırlık ortamı için yeni bir API belirteci oluştur."
  • "1234 kimlikli API belirtecini sıfırla."
  • "Kullanılmayan 1234 numaralı API belirtecini sil."

Kuruluş ve Alt Hesaplar:

  • "Kuruluşumdaki tüm alt hesapları listele."
  • "'Acme Corp' istemci projesi için yeni bir alt hesap oluştur."

Yeniden adlandırılan araçlar

Mailtrap artık test gelen kutularına sandbox, gönderim alan adlarına ise domain diyor; araç adları da buna göre değişti. Eski adlar artık araç listesinde görünmüyor, ancak bu adlarla yapılan çağrılar çalışmaya devam ediyor ve stderr'e kullanımdan kaldırılma uyarısı yazıyor. Gelecekteki büyük bir sürümde kaldırılacaklar.

MCP istemcileri ve ajan çerçeveleri izin verme, engelleme ve filtre listelerini duyurulan araç adına göre eşleştirir. Bu nedenle araç başına tanımları yeni adlara taşıyın: delete-sending-domain için bir engelleme tanımı artık delete-domain aracını engellemez.

Eski adYeni ad
create-sandbox-inboxcreate-sandbox
get-sandbox-inboxget-sandbox
update-sandbox-inboxupdate-sandbox
delete-sandbox-inboxdelete-sandbox
clean-sandbox-inboxclean-sandbox
list-sending-domainslist-domains
get-sending-domainget-domain
create-sending-domaincreate-domain
update-sending-domainupdate-domain
delete-sending-domaindelete-domain
send-sending-domain-setup-instructionssend-domain-setup-instructions
sending_domain_id alan adı ve şirket bilgisi araçlarının parametresidomain_id
MAILTRAP_TEST_INBOX_ID ortam değişkeniMAILTRAP_SANDBOX_ID

Bir API alanını yansıtan filtreler adlarını korur: list-email-logs üzerindeki sending_domain_id ve istatistik araçlarındaki sending_domain_ids.

Kullanılabilir Araçlar

send-email

Mailtrap üzerinden işlemsel e-posta gönderir. Birbirini dışlayan iki modu destekler: satır içi içerik (subject + text/html) veya şablon tabanlı (template_uuid).

Parametreler:

  • from (isteğe bağlı): Gönderen: { email, name? } (çalışma zamanında yalın bir e-posta dizesi de kabul edilir). Sağlanmazsa DEFAULT_FROM_EMAIL kullanılır.
  • to (isteğe bağlı): { email, name? } nesneleri olarak alıcı dizisi (çalışma zamanında yalın e-posta dizeleri veya dizi olmayan tek bir adres de kabul edilir). cc veya bcc sağlanmışsa isteğe bağlıdır; to / cc / bcc alanlarından en az biri bir alıcı içermelidir.
  • cc (isteğe bağlı): { email, name? } nesneleri olarak CC alıcıları dizisi (çalışma zamanında yalın e-posta dizeleri de kabul edilir).
  • bcc (isteğe bağlı): { email, name? } nesneleri olarak BCC alıcıları dizisi (çalışma zamanında yalın e-posta dizeleri de kabul edilir).
  • subject (koşullu): E-posta konu satırı. Satır içi gönderimler için gereklidir; template_uuid ayarlandığında atlanmalıdır.
  • text (koşullu): E-posta gövde metni. Satır içi gönderimler için (html) ile birlikte veya onun yerine gereklidir; template_uuid ayarlandığında atlanmalıdır.
  • html (koşullu): E-posta gövdesinin HTML sürümü. Satır içi gönderimler için (text) ile birlikte veya onun yerine gereklidir; template_uuid ayarlandığında atlanmalıdır.
  • category (isteğe bağlı): İzleme ve analiz için e-posta kategorisi. template_uuid ayarlandığında atlanmalıdır.
  • template_uuid (isteğe bağlı): Satır içi içerik yerine Mailtrap e-posta şablonu kullanın. Ayarlandığında subject / text / html / category atlanmalıdır (Mailtrap API gereği).
  • template_variables (isteğe bağlı): template_uuid tarafından belirtilen şablonda yerine konan değişkenlerden oluşan nesne. Yalnızca template_uuid ile birlikte kullanılabilir.

batch-send-transactional-email

Tek bir Mailtrap API çağrısında bir grup işlemsel e-posta gönderir (varsayılan gönderim akışı). Ortak alanlar base içinde, alıcıya özel geçersiz kılmalar ise requests[] içinde yer alır. Her istek, to, cc veya bcc aracılığıyla en az bir alıcı içermelidir. send-email ile aynı satır içi/şablon karşılıklı dışlama kuralı geçerlidir; temel değer her istekle birleştirildikten sonra denetlenir.

Parametreler:

  • base (isteğe bağlı): Grup genelinde paylaşılan alanları içeren nesne.
    • from (isteğe bağlı): Gönderen: { email, name? } (çalışma zamanında yalın bir e-posta dizesi de kabul edilir). Varsayılan olarak DEFAULT_FROM_EMAIL kullanılır.
    • reply_to (isteğe bağlı): Yanıt adresi.
    • subject / text / html / category (isteğe bağlı, satır içi mod): Her istek için varsayılan içerik.
    • template_uuid / template_variables (isteğe bağlı, şablon modu): Varsayılan şablon + değişkenler. Satır içi alanlarla karşılıklı olarak dışlanır.
    • custom_variables (isteğe bağlı): Varsayılan özel değişkenler (dize değerli).
    • headers (isteğe bağlı): Varsayılan özel üstbilgiler.
  • requests (gerekli): Alıcı başına mesajlardan oluşan boş olmayan dizi. Her girdi şunları içerir:
    • to (isteğe bağlı): { email, name? } nesneleri olarak alıcı dizisi (çalışma zamanında yalın e-posta dizeleri veya dizi olmayan tek bir adres de kabul edilir). cc veya bcc sağlanmışsa isteğe bağlıdır; to / cc / bcc alanlarından en az biri bir alıcı içermelidir.
    • cc, bcc, reply_to (isteğe bağlı).
    • Satır içi (subject/text/html/category) veya şablon (template_uuid/template_variables) geçersiz kılmaları; atlanan her alan, eşleşen base değerini kullanır.
    • custom_variables, headers (isteğe bağlı).

batch-send-bulk-email

Mailtrap'ın toplu gönderim akışı API'si üzerinden bir grup toplu e-posta gönderir. batch-send-transactional-email ile aynı base + requests[] yapısını, doğrulamayı ve satır içi/şablon kurallarını kullanır; tek fark, bu aracın çağrıyı işlemsel uç nokta yerine toplu gönderim uç noktasına yönlendirmesidir. Yukarıdaki parametrelere bakın.

list-email-logs

İsteğe bağlı sayfalama ve filtrelerle gönderilen e-posta günlüklerini (teslimat geçmişini) listeler. IDE'den ayrılmadan teslimat sorunlarını ayıklamak için kullanın.

Parametreler:

  • search_after (isteğe bağlı): Önceki yanıtın next_page_cursor alanından alınan sayfalama imleci
  • sent_after (isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu zamandan sonra gönderilen günlükler
  • sent_before (isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu zamandan önce gönderilen günlükler
  • from_email (isteğe bağlı): Gönderen e-postasına göre filtrele; from_operator ile kullanın (varsayılan: ci_equal)
  • to_email (isteğe bağlı): Alıcı e-postasına göre filtrele; to_operator ile kullanın (varsayılan: ci_equal)
  • status (isteğe bağlı): Teslimat durumuna göre filtrele: delivered, not_delivered, enqueued, opted_out; status_operator ile kullanın (varsayılan: equal)
  • subject (isteğe bağlı): E-posta konusuna göre filtrele; subject_operator ile kullanın (varsayılan: ci_contain). Konu bulunup bulunmadığına göre filtrelemek için subject_operator: empty/not_empty kullanın.
  • sending_domain_id (isteğe bağlı): Alan adına göre filtrele (sayı); sending_domain_id_operator ile kullanın (varsayılan: equal)
  • sending_stream (isteğe bağlı): Akışa göre filtrele: transactional veya bulk; sending_stream_operator ile kullanın (varsayılan: equal)
  • events (isteğe bağlı): Olay türüne/türlerine göre filtrele: delivery, open, click, bounce, spam, unsubscribe, soft_bounce, reject, suspension; events_operator ile kullanın (include_event / not_include_event)
  • clicks_count / opens_count (isteğe bağlı): Tıklama/açılma sayısına göre filtrele; *_operator ile kullanın: equal, greater_than, less_than
  • client_ip / sending_ip (isteğe bağlı): IP'ye göre filtrele; *_operator ile kullanın: equal, not_equal, contain, not_contain
  • email_service_provider_response (isteğe bağlı): Sağlayıcı yanıt metnine göre filtrele; *_operator ile kullanın (ci_contain vb.)
  • email_service_provider (isteğe bağlı): Sağlayıcıya göre filtrele (tam eşleşme); *_operator ile kullanın: equal, not_equal
  • recipient_mx (isteğe bağlı): Alıcı MX kaydına göre filtrele; recipient_mx_operator ile kullanın (ci_contain vb.)
  • category (isteğe bağlı): E-posta kategorisine göre filtrele; category_operator ile kullanın: equal, not_equal

Tüm parametreler isteğe bağlıdır.

get-email-log-message

Bir e-posta günlük mesajını kimliğine (UUID) göre alır: okunabilir bir özet (gönderen, alıcı, konu, gönderim zamanı, durum, kategori, akış, etkileşim, teslimat bağlamı) ve ardından ayrıntılı olay geçmişi. İsteğe bağlı olarak, include_content: true ile Mailtrap ham mesaj URL'si sunduğunda mesaj gövdesini (HTML ve düz metin) de yükleyip gösterebilirsiniz.

Parametreler:

  • message_id (gerekli): E-posta günlük mesajının UUID'si (gönderim yanıtından veya list-email-logs'tan). Mesaj kimliklerini bulmak için list-email-logs kullanın.
  • include_content (isteğe bağlı): true olduğunda, ham EML'yi (varsa raw_message_url) getirir ve show-sandbox-email-message'e benzer şekilde ayrıştırılmış HTML ve düz metin gövde bölümlerini ekler.

get-sending-stats

Bir tarih aralığı için e-posta gönderim istatistiklerini (teslimat, geri dönme, açılma, tıklama ve spam oranları) alın. İsteğe bağlı olarak alan adına, kategoriye, e-posta hizmet sağlayıcısına veya tarihe göre ayrıntılandırın. Düzenleyiciden ayrılmadan teslimat oranlarını kontrol edin.

Parametreler:

  • start_date (gerekli): İstatistik aralığının başlangıç tarihi (YYYY-MM-DD)
  • end_date (gerekli): İstatistik aralığının bitiş tarihi (YYYY-MM-DD)
  • breakdown (isteğe bağlı): İstatistiklerin ayrıntılandırılma biçimi: aggregated (varsayılan), by_domain, by_category, by_email_service_provider veya by_date
  • sending_domain_ids (isteğe bağlı): Sonuçları bu alan adı kimlikleriyle sınırlandırın (tamsayı dizisi)
  • sending_streams (isteğe bağlı): transactional ve/veya bulk ile sınırlandırın (dize dizisi)
  • categories (isteğe bağlı): Bu e-posta kategorileriyle sınırlandırın (dize dizisi)
  • email_service_providers (isteğe bağlı): Google, Yahoo, Outlook gibi bu sağlayıcılarla sınırlandırın (dize dizisi)

get-marketing-stats

Bir tarih aralığı için kampanyalar ve otomasyonlar genelindeki toplu E-posta Pazarlama istatistiklerini alın: gönderim, teslimat, geri dönme, açılma, tıklama, spam ve abonelikten çıkma sayıları ile oranları. delivery_rate ve bounce_rate, sent_count değerinin paylarıdır; diğer oranlar ise delivery_count değerinin paylarıdır.

Parametreler:

  • start_date (gerekli): Tarih aralığının başlangıcı (dahil), YYYY-MM-DD
  • end_date (gerekli): Tarih aralığının sonu (dahil), YYYY-MM-DD
  • sending_domain_ids (isteğe bağlı): Sonuçları bu alan adı kimlikleriyle sınırlandırın (tamsayı dizisi)
  • sources (isteğe bağlı): campaigns veya automations istatistikleri ilgili kaynakla sınırlar; tüm E-posta Pazarlama trafiği için bu parametreyi atlayın veya her ikisini de iletin (dize dizisi)
  • email_service_providers (isteğe bağlı): Google, Yahoo, Outlook gibi bu sağlayıcılarla sınırlandırın (dize dizisi)

create-template

Mailtrap hesabınızda yeni bir e-posta şablonu oluşturur.

Parametreler:

  • name (gerekli): Şablonun adı
  • subject (gerekli): E-posta konu satırı
  • html (veya text) gereklidir: Şablonun HTML içeriği
  • text (veya html) gereklidir: Şablonun düz metin sürümü
  • category (isteğe bağlı): Şablon kategorisi (varsayılanı "General")

list-templates

Mailtrap hesabınızdaki e-posta şablonlarını sayfa belirteciyle sayfalama kullanarak listeler. Daha fazla şablon varsa sonuç, sonraki sayfa için token değerini belirtir. Sayfalar, en yeniden başlayarak sıralanan liste üzerinde ofsetlere göre belirlenir; bu nedenle şablonları sildikten sonra sonraki belirteçle devam etmek yerine listelemeyi token 1'den yeniden başlatın. Boş bir sayfa, şablon içeren son sayfayı belirtir.

Parametreler:

  • token (isteğe bağlı): Alınacak sayfa numarası (sayfa belirteciyle sayfalama). Varsayılanı 1
  • per_page (isteğe bağlı): Sayfa başına şablon sayısı. Varsayılanı 50, en fazla 100. Her sayfada aynı değeri iletin

get-template

Konu, kategori ve HTML/metin gövdesi dahil olmak üzere tek bir e-posta şablonunu kimliğine göre alın.

Parametreler:

  • template_id (gerekli): Alınacak şablonun kimliği

update-template

Mevcut bir e-posta şablonunu günceller.

Parametreler:

  • template_id (gerekli): Güncellenecek şablonun kimliği
  • name (isteğe bağlı): Şablon için yeni ad
  • subject (isteğe bağlı): Yeni e-posta konu satırı
  • html (isteğe bağlı): Şablonun yeni HTML içeriği
  • text (isteğe bağlı): Şablonun yeni düz metin sürümü
  • category (isteğe bağlı): Şablon için yeni kategori

[!NOTE] update-template çağrısıyla güncelleme yapmak için güncellenebilir alanlardan (name, subject, html, text veya category) en az biri sağlanmalıdır.

delete-template

Mevcut bir e-posta şablonunu siler.

Parametreler:

  • template_id (gerekli): Silinecek şablonun kimliği

send-sandbox-email

Geliştirme ve test amacıyla Mailtrap sanal alanınıza e-posta gönderir. Gerçek alıcılara e-posta göndermeden e-posta şablonlarını test etmek için idealdir. send-email ile aynı iki modu destekler: satır içi içerik veya şablon tabanlı (template_uuid).

Parametreler:

  • sandbox_id (isteğe bağlı): Tercih edilen. Mailtrap sandbox kimliği. MAILTRAP_SANDBOX_ID ayarlanmadığı sürece gereklidir.
  • test_inbox_id (isteğe bağlı): sandbox_id belirtilmediğinde sandbox_id için eski takma ad.
  • from (isteğe bağlı): { email, name? } biçiminde gönderen (çalışma zamanında yalın bir e-posta dizesi de kabul edilir). Belirtilmezse DEFAULT_FROM_EMAIL kullanılır.
  • to (isteğe bağlı): { email, name? } nesneleri biçiminde alıcı dizisi (dizide yalın e-posta dizeleri veya virgülle ayrılmış yalın e-posta dizelerinden oluşan bir dize de çalışma zamanında kabul edilir). cc veya bcc sağlanırsa isteğe bağlıdır; to / cc / bcc alanlarından en az biri alıcı içermelidir.
  • cc (isteğe bağlı): { email, name? } nesneleri biçiminde CC alıcıları dizisi (çalışma zamanında yalın e-posta dizeleri de kabul edilir).
  • bcc (isteğe bağlı): { email, name? } nesneleri biçiminde BCC alıcıları dizisi (çalışma zamanında yalın e-posta dizeleri de kabul edilir).
  • subject (koşullu): E-posta konu satırı. Satır içi gönderimler için gereklidir; template_uuid ayarlandığında belirtilmemelidir.
  • text (koşullu): E-posta gövde metni. Satır içi gönderimler için gereklidir (html ile birlikte veya onun yerine); template_uuid ayarlandığında belirtilmemelidir.
  • html (koşullu): E-posta gövdesinin HTML sürümü. Satır içi gönderimler için gereklidir (text ile birlikte veya onun yerine); template_uuid ayarlandığında belirtilmemelidir.
  • category (isteğe bağlı): İzleme için e-posta kategorisi. template_uuid ayarlandığında belirtilmemelidir.
  • template_uuid (isteğe bağlı): Satır içi içerik yerine Mailtrap e-posta şablonu kullanın. Ayarlandığında subject / text / html / category belirtilmemelidir.
  • template_variables (isteğe bağlı): template_uuid tarafından başvurulan şablona yerleştirilecek değişkenler nesnesi. Yalnızca template_uuid ile birlikte kullanılabilir.

batch-send-sandbox-email

Gerçek alıcılara teslim etmeden, tek bir API çağrısıyla Mailtrap sandbox'ınıza bir e-posta grubu gönderir. batch-send-transactional-email ile aynı base + requests[] yapısını, doğrulama kurallarını ve satır içi içerik-şablon kurallarını kullanır — farkı, bu aracın çağrıyı tek bir sandbox için sandbox uç noktası üzerinden yönlendirmesidir.

Parametreler:

  • sandbox_id (isteğe bağlı): Mailtrap sandbox kimliği. MAILTRAP_SANDBOX_ID ayarlanmadığı sürece gereklidir; belirli bir sandbox'ı hedeflemek için her çağrıda iletin.
  • base (isteğe bağlı), requests (gerekli): Yukarıdaki batch-send-transactional-email bölümüne bakın.

[!NOTE] Çoğu sandbox aracı sandbox_id değerini alır (veya yoksa MAILTRAP_SANDBOX_ID değerine geri döner; kullanımdan kaldırılmış MAILTRAP_TEST_INBOX_ID ortam değişkeni de çalışmaya devam eder). send-sandbox-email, get-sandbox-messages ve show-sandbox-email-message eski test_inbox_id değerini de kabul eder. get-sandbox, update-sandbox, delete-sandbox ve clean-sandbox, eski inbox_id ile birlikte sandbox_id kullanır (aynı kimlik; ileti araçlarında inbox_id kullanılmaz). Gelen e-posta araçları, sandbox yerine farklı bir ürün (alınan e-posta) için inbox_id kullanır.

get-sandbox-messages

Mailtrap sandbox'ınızdan gelen iletilerin listesini alır. Test sırasında sandbox'ınıza hangi e-postaların ulaştığını kontrol etmek için kullanışlıdır.

Parametreler:

  • sandbox_id (isteğe bağlı): Tercih edilen. MAILTRAP_SANDBOX_ID ayarlanmadığı sürece sandbox kimliği.
  • test_inbox_id (isteğe bağlı): sandbox_id için eski takma ad.
  • page (isteğe bağlı): Sayfalama için sayfa numarası (minimum: 1)
  • last_id (isteğe bağlı): Son ileti kimliğini kullanarak sayfalama. Belirtilen ileti kimliğinden sonraki iletileri döndürür (minimum: 1)
  • search (isteğe bağlı): İletileri filtrelemek için arama sorgusu

[!NOTE] MAILTRAP_SANDBOX_ID ayarlandığında sandbox kimliği parametreleri isteğe bağlıdır. sandbox_id, test_inbox_id veya ortam değişkenlerinden hiçbiri sağlanmazsa çağrı başarısız olur. Sayfalama için gerektiğinde page, last_id veya search kullanın.

show-sandbox-email-message

Mailtrap sandbox'ınızdaki belirli bir e-posta iletisinin HTML ve metin gövdesi içeriği dâhil ayrıntılı bilgilerini ve içeriğini gösterir.

Parametreler:

  • sandbox_id (isteğe bağlı): Tercih edilen. MAILTRAP_SANDBOX_ID ayarlanmadığı sürece sandbox kimliği.
  • test_inbox_id (isteğe bağlı): sandbox_id için eski takma ad.
  • message_id (gerekli): Alınacak sandbox e-posta iletisinin kimliği

[!NOTE] Önce ileti kimliklerini almak için get-sandbox-messages kullanın, ardından içeriğin tamamını görüntülemek için bu aracı kullanın.

list-sandbox-projects

Tüm sandbox projelerini ve bunların sandbox'larını listeler.

Parametreler:

  • Parametre gerekmez

create-sandbox-project

Sandbox'ları gruplandırmak için yeni bir sandbox projesi oluşturur.

Parametreler:

  • name (gerekli): Projenin adı (2–100 karakter)

get-sandbox-project

Sandbox'ları ve e-posta sayılarını da içerecek şekilde, kimliğine göre bir sandbox projesini alır.

Parametreler:

  • project_id (gerekli): Alınacak projenin kimliği

update-sandbox-project

Mevcut bir sandbox projesini yeniden adlandırır.

Parametreler:

  • project_id (gerekli): Güncellenecek projenin kimliği
  • name (gerekli): Projenin yeni adı (2–100 karakter)

delete-sandbox-project

Bir sandbox projesini ve tüm sandbox'larını siler.

Parametreler:

  • project_id (gerekli): Silinecek projenin kimliği

create-sandbox

Bir proje içinde yeni bir sandbox oluşturur. Yeni sandbox'ın SMTP kimlik bilgilerini döndürür.

Parametreler:

  • project_id (gerekli): Sandbox'ın oluşturulacağı projenin kimliği
  • name (gerekli): Sandbox'ın adı

get-sandbox

SMTP kimlik bilgileri, e-posta sayıları ve durum dâhil sandbox ayrıntılarını alır.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID ayarlanmadığı sürece gereklidir.
  • inbox_id (isteğe bağlı): sandbox_id için eski takma ad.

update-sandbox

Bir sandbox'ın adını veya e-posta kullanıcı adını günceller.

Parametreler:

  • sandbox_id (gerekli): Sandbox kimliği (eski takma ad: inbox_id)
  • name (isteğe bağlı): Sandbox'ın yeni adı
  • email_username (isteğe bağlı): Sandbox'ın yeni e-posta kullanıcı adı

name veya email_username alanlarından en az biri sağlanmalıdır.

delete-sandbox

Bir sandbox'ı ve tüm iletilerini siler.

Parametreler:

  • sandbox_id (gerekli): Sandbox kimliği (eski takma ad: inbox_id)

clean-sandbox

Sandbox'ın kendisini silmeden, sandbox'taki tüm iletileri siler.

Parametreler:

  • sandbox_id (gerekli): Sandbox kimliği (eski takma ad: inbox_id)

list-sandboxes

API belirtecinin tüm projelerde erişebildiği her sandbox'ı listeler.

Parametreler:

  • Parametre gerekmez

mark-sandbox-as-read

Bir sandbox'taki tüm iletileri okundu olarak işaretler.

Parametreler:

  • sandbox_id (gerekli): İşlem yapılacak sandbox'ın kimliği

reset-sandbox-credentials

Bir sandbox'ın SMTP kimlik bilgilerini sıfırlar. Yeni kullanıcı adını/parolayı döndürür.

Parametreler:

  • sandbox_id (gerekli): İşlem yapılacak sandbox'ın kimliği

enable-sandbox-email-address

Bir sandbox için e-posta alım adresini etkinleştirir (iletileri SMTP üzerinden sandbox'a teslim eden Mailtrap adresini etkinleştirir).

Parametreler:

  • sandbox_id (gerekli): İşlem yapılacak sandbox'ın kimliği

reset-sandbox-email-address

Bir sandbox için yeni bir e-posta alım adresi oluşturur.

Parametreler:

  • sandbox_id (gerekli): İşlem yapılacak sandbox'ın kimliği

forward-sandbox-message

Bir sandbox iletisini harici bir e-posta adresine iletir. Aylık iletme kotanızdan düşer.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): İletilecek sandbox iletisinin kimliği
  • email (gerekli): İletinin yönlendirileceği e-posta adresi

update-sandbox-message

Bir sandbox iletisini okundu veya okunmadı olarak işaretler.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Güncellenecek sandbox iletisinin kimliği
  • is_read (gerekli): true okundu olarak, false okunmadı olarak işaretler

delete-sandbox-message

Tek bir sandbox iletisini siler.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Silinecek sandbox iletisinin kimliği

get-sandbox-message-spam-score

Bir sandbox iletisi için SpamAssassin spam raporunu (puan, kurallar, raporun tamamı) alır. show-sandbox-email-message üzerindeki include_spam_report: true aracına bağımsız bir alternatiftir.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-html-analysis

Bir sandbox iletisi için HTML analiz raporunu (istemci uyumluluk puanları, sorunlu öğeler) alır. show-sandbox-email-message üzerindeki include_html_analysis: true aracına bağımsız bir alternatiftir.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-headers

Bir sandbox iletisinin ayrıştırılmış posta üstbilgilerini alır.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-html

Bir sandbox iletisinin işlenmiş HTML gövdesini alır.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-text

Bir sandbox iletisinin düz metin gövdesini alır.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-raw

Bir sandbox iletisini ham, MIME biçimli hâliyle (üstbilgiler + gövde) alır.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-eml

İletiyi EML dosyası yükü olarak işlenmiş biçimde alır (bir bilete eklemek veya başka bir e-posta istemcisine aktarmak için uygundur).

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-message-html-source

Bir sandbox iletisinin işlenmemiş HTML kaynağını alır (Mailtrap tarafındaki CID bağlantısı yeniden yazımları gibi dönüşümler uygulanmadan önceki HTML).

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

list-sandbox-attachments

Bir sandbox iletisindeki tüm ekleri listeler (dosya adı, içerik türü, boyut, indirme yolu).

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Sandbox iletisinin kimliği

get-sandbox-attachment

Tek bir ekin meta verilerini ve indirme URL'sini alır.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (gerekli): Eki içeren sandbox iletisinin kimliği
  • attachment_id (gerekli): Alınacak ekin kimliği

list-domains

Alan adlarını ve DNS doğrulama durumlarını listeler.

Parametreler:

  • Parametre gerekmez

get-domain

Bir alan adını kimliğine ve doğrulama durumuna göre alır (DNS kayıtları dâhil). include_setup_instructions değerini true olarak ayarlayarak isteğe bağlı olarak DNS kurulum talimatlarını ekleyin.

Parametreler:

  • domain_id (gerekli): Alan adı kimliği (eski takma ad: sending_domain_id)
  • include_setup_instructions (isteğe bağlı): true ise yanıta DNS kurulum talimatlarını ekler. Varsayılan: false

create-domain

Yeni bir alan adı oluşturur. Oluşturduktan sonra alan adını doğrulamak için DNS kayıtlarını ekleyin (kayıtları görmek için include_setup_instructions: true ile get-domain kullanın).

Parametreler:

  • domain_name (gerekli): Alan adı (ör. example.com)

update-domain

Bir alan adının izleme ve gelen posta ayarlarını güncelleyin.

Parametreler:

  • domain_id (gerekli): Alan adı kimliği (eski takma ad: sending_domain_id)
  • open_tracking_enabled (isteğe bağlı): Bu alan adından gönderilen e-postalarda açılma izlemeyi etkinleştir
  • click_tracking_enabled (isteğe bağlı): Bu alan adından gönderilen e-postalardaki bağlantı tıklamalarını izle
  • tracking_opt_out_enabled (isteğe bağlı): İzlenen e-postalara izlemeyi devre dışı bırakma bağlantısı ekle. Açılma veya tıklama izleme gerektirir
  • auto_unsubscribe_link_enabled (isteğe bağlı): E-postalara otomatik olarak abonelikten çıkma bağlantısı ekle
  • inbound_enabled (isteğe bağlı): Alan adının gelen kutusuna tüm adresleri yakalayan bir adres olarak eklenmesine izin ver

domain_id dışında en az bir ayar belirtilmelidir.

delete-domain

Bir alan adını silin.

Parametreler:

  • domain_id (gerekli): Silinecek alan adının kimliği (eski takma ad: sending_domain_id)

send-domain-setup-instructions

Bir alan adının DNS kurulum talimatlarını belirtilen adrese e-postayla gönderin. DNS kayıtlarını bir DevOps ekip arkadaşına iletmek için kullanışlıdır.

Parametreler:

  • domain_id (gerekli): Alan adı kimliği (eski takma ad: sending_domain_id)
  • email (gerekli): DNS kurulum talimatlarının gönderileceği e-posta adresi

get-company-info

Alan adı uyumluluk doğrulamasında kullanılan alan adı şirket bilgilerini alın.

Parametreler:

  • domain_id (gerekli): Alan adı kimliği (eski takma ad: sending_domain_id)

create-company-info

Alan adı uyumluluk doğrulaması için gerekli olan alan adı şirket bilgilerini ayarlayın.

Parametreler:

  • domain_id (gerekli): Alan adı kimliği (eski takma ad: sending_domain_id)
  • name (gerekli): Şirket veya kişi adı
  • address (gerekli): Sokak adresi
  • city (gerekli): Şehir
  • country (gerekli): Ülke
  • zip_code (gerekli): ZIP veya posta kodu
  • website_url (gerekli): Şirket web sitesi URL'si
  • phone (isteğe bağlı): Telefon numarası
  • privacy_policy_url (isteğe bağlı): Gizlilik politikası sayfasının URL'si
  • terms_of_service_url (isteğe bağlı): Hizmet şartları sayfasının URL'si
  • info_level (isteğe bağlı): business veya individual

update-company-info

Bir alan adının şirket bilgilerini güncelleyin.

Parametreler:

  • domain_id (gerekli): Alan adı kimliği (eski takma ad: sending_domain_id)
  • create-company-info içindeki tüm alanlar isteğe bağlıdır. En az biri belirtilmelidir; belirtilmeyen alanlar değiştirilmez.

list-suppressions

Engellemeleri (kalıcı geri dönüşler, spam şikayetleri, abonelikten çıkmalar, manuel içe aktarımlar) listeleyin veya arayın. Her çağrıda en fazla 1000 sonuç döndürür.

Parametreler:

  • email (isteğe bağlı): E-posta filtresi. Yalnızca bu adresle eşleşen engellemeleri döndürür.

create-suppression

Mailtrap'in bu adrese e-posta göndermeyi durdurması için bir e-posta adresini hesabın engelleme listesine ekleyin.

Parametreler:

  • email (gerekli): Engellenecek e-posta adresi
  • domain_id (gerekli): Engellemenin geçerli olduğu alan adının kimliği
  • sending_stream (gerekli): transactional veya bulk
  • type (isteğe bağlı): hard bounce, spam complaint, unsubscription veya manual import. Varsayılan değer manual import

delete-suppression

Bir engellemeyi kimliğine göre silin. Adres yeniden engellenmediği sürece Mailtrap bu e-posta adresine gönderim yapmaya devam eder.

Parametreler:

  • suppression_id (gerekli): Silinecek engellemenin kimliği

list-tracking-opt-outs

Açılma ve tıklama izlemesinden hariç tutulan e-posta adreslerini listeleyin. Her çağrıda en fazla 1000 kayıt döndürür.

Parametreler:

  • email (isteğe bağlı): E-posta filtresi. Yalnızca bu adresle eşleşen izleme devre dışı bırakma kayıtlarını döndürür
  • start_time (isteğe bağlı): Yalnızca bu zamanda veya sonrasında oluşturulan izleme devre dışı bırakma kayıtları (ISO 8601)
  • end_time (isteğe bağlı): Yalnızca bu zamanda veya öncesinde oluşturulan izleme devre dışı bırakma kayıtları (ISO 8601)
  • last_id (isteğe bağlı): Sayfalama imleci — önceki yanıttaki last_id

create-tracking-opt-out

Bir alan adı için e-posta adresini açılma ve tıklama izlemesinden hariç tutun.

Parametreler:

  • email (gerekli): İzlemeyi devre dışı bırakacak e-posta adresi
  • domain_id (gerekli): İzleme devre dışı bırakma kaydının geçerli olduğu alan adının kimliği

delete-tracking-opt-out

Açılma ve tıklama izlemenin yeniden uygulanması için bir e-posta adresini izleme devre dışı bırakma listesinden kaldırın.

Parametreler:

  • tracking_opt_out_id (gerekli): Silinecek izleme devre dışı bırakma kaydının kimliği

list-webhooks

Hesap için yapılandırılmış tüm webhook'ları listeleyin. Tam webhook kayıtlarını JSON olarak döndürür.

Parametreler:

  • Parametre gerekmez

get-webhook

Bir webhook'u kimliğine göre alın. Tam webhook kaydını JSON olarak döndürür. Not: signing_secret burada döndürülmez; yalnızca create-webhook yanıtında bulunur.

Parametreler:

  • webhook_id (gerekli): Alınacak webhook'un kimliği

create-webhook

Bir webhook oluşturun. Yanıt, webhook yükü imzalarını doğrulamak için bir signing_secret içerir. Bu gizli değer yalnızca oluşturma sırasında döndürülür; bu nedenle hemen kaydedin. Kaybederseniz webhook'u yeniden oluşturun.

Parametreler:

  • url (gerekli): Mailtrap'in webhook etkinliklerini POST edeceği URL
  • webhook_type (gerekli): "email_sending", "audit_log" veya "inbound_receiving"
  • active (isteğe bağlı, boolean): varsayılan değer true
  • payload_format (isteğe bağlı): "json" veya "jsonlines". Varsayılan değer "json"
  • sending_stream (isteğe bağlı, yalnızca email_sending için): "transactional" veya "bulk"
  • event_types (isteğe bağlı, yalnızca email_sending için): delivery, soft_bounce, bounce, suspension, unsubscribe, open, spam_complaint, click, reject dizisi
  • domain_id (isteğe bağlı, yalnızca email_sending için): Bu webhook'un kapsamını belirleyecek alan adı kimliği
  • inbound_inbox_id (isteğe bağlı, yalnızca inbound_receiving için): Webhook'un bağlı olduğu gelen kutusunun kimliği; hesaptaki tüm gelen kutularına uygulamak için bu alanı belirtmeyin

update-webhook

Bir webhook'un değiştirilebilir alanlarını güncelleyin. webhook_type, sending_stream ve domain_id oluşturulduktan sonra değiştirilemez; bunları değiştirmek için webhook'u yeniden oluşturun.

Parametreler:

  • webhook_id (gerekli): Güncellenecek webhook'un kimliği
  • url (isteğe bağlı): Yeni webhook URL'si
  • active (isteğe bağlı, boolean): Webhook'u etkinleştirin veya devre dışı bırakın
  • payload_format (isteğe bağlı): "json" veya "jsonlines"
  • event_types (isteğe bağlı, yalnızca email_sending için): delivery, soft_bounce, bounce, suspension, unsubscribe, open, spam_complaint, click, reject dizisi
  • inbound_inbox_id (isteğe bağlı, yalnızca inbound_receiving için): Webhook'un bağlı olduğu gelen kutusunun kimliği

delete-webhook

Bir webhook'u kimliğine göre kalıcı olarak silin. Silinen webhook kaydını döndürür.

Parametreler:

  • webhook_id (gerekli): Silinecek webhook'un kimliği

get-contact

Bir kişiyi kimliğine veya e-posta adresine göre alın. Tam kişi kaydını (liste üyelikleri, durum, özel alanlar) döndürür.

Parametreler:

  • contact_identifier (gerekli): Kişi kimliği veya e-posta adresi

create-contact

Yeni bir kişi oluşturun.

Parametreler:

  • email (gerekli): E-posta adresi
  • fields (isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerleri (ör. first_name). Dize, sayı veya boole değerleri
  • list_ids (isteğe bağlı): Bu kişinin abone olacağı kişi listelerinin kimlikleri
  • unsubscribed (isteğe bağlı, boolean): Kişiyi unsubscribed durumunda oluştur

update-contact

Kimliği veya e-posta adresiyle belirtilen mevcut bir kişiyi güncelleyin. list_ids kişinin tüm üyelik kümesini değiştirir; list_ids_included/list_ids_excluded ise geri kalanını etkilemeden ekleme veya kaldırma yapar.

Parametreler:

  • contact_identifier (gerekli): Kişi kimliği veya e-posta adresi
  • email (isteğe bağlı): Yeni e-posta adresi
  • fields (isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerleri
  • list_ids (isteğe bağlı): Üyelik kümesini bu tam listeyle değiştir
  • list_ids_included (isteğe bağlı): Eklenecek liste kimlikleri (eklemeli)
  • list_ids_excluded (isteğe bağlı): Kaldırılacak liste kimlikleri
  • unsubscribed (isteğe bağlı, boolean): unsubscribed (true) veya subscribed (false) olarak ayarlayın

delete-contact

Bir kişiyi kimliğine veya e-posta adresine göre kalıcı olarak silin. API bir kayıt döndürürse silinen kişi kaydını, aksi takdirde bir onay yükünü döndürür.

Parametreler:

  • contact_identifier (gerekli): Kişi kimliği veya e-posta adresi

create-contact-event

Bir kişi için (kimliğine veya e-posta adresine göre) kişi etkinliği kaydedin. Kişi listesi otomasyonlarını tetiklemek için kullanılır.

Parametreler:

  • contact_identifier (gerekli): Kişi kimliği veya e-posta adresi
  • name (gerekli): Etkinlik adı (otomasyon tetikleyicileriyle eşleşir)
  • params (gerekli): İsteğe bağlı anahtar/değer çiftlerinden oluşan nesne. Değerler dize, sayı, boole veya null olabilir

list-contact-lists

Hesaptaki tüm kişi listelerini listeleyin.

Parametreler:

  • search (isteğe bağlı): Kişi listelerini ada göre filtreleyin (büyük/küçük harfe duyarsız eşleşme), ör. news

get-contact-list

Bir kişi listesini kimliğine göre alın.

Parametreler:

  • list_id (gerekli): Alınacak kişi listesinin kimliği

create-contact-list

Yeni bir kişi listesi oluşturun.

Parametreler:

  • name (gerekli): Yeni listenin adı

update-contact-list

Mevcut bir kişi listesini yeniden adlandırın.

Parametreler:

  • list_id (gerekli): Kişi listesinin kimliği
  • name (gerekli): Listenin yeni adı

delete-contact-list

Bir kişi listesini kimliğine göre kalıcı olarak silin.

Parametreler:

  • list_id (gerekli): Silinecek kişi listesinin kimliği

list-contact-fields

Hesaptaki tüm kişi alanı tanımlarını listeleyin.

Parametreler:

  • Parametre gerekmez

get-contact-field

Bir kişi alanı tanımını kimliğine göre alın.

Parametreler:

  • field_id (gerekli): Kişi alanının kimliği

create-contact-field

Yeni bir kişi alanı tanımı oluşturun. merge_tag hesap içinde benzersiz olmalı ve şablon değişkenlerinde yer tutucu adı olarak kullanılır.

Parametreler:

  • name (gerekli): Görünen ad (ör. "First Name")
  • merge_tag (gerekli): Benzersiz yer tutucu adı (ör. first_name)
  • data_type (gerekli): text, number, boolean, date değerlerinden biri

update-contact-field

Bir kişi alanı tanımını güncelleyin. name, merge_tag ve data_type alanlarının herhangi bir birleşimi değiştirilebilir.

Parametreler:

  • field_id (gerekli): Kişi alanının kimliği
  • name (isteğe bağlı): Yeni görünen ad
  • merge_tag (isteğe bağlı): Yeni birleştirme etiketi (benzersiz kalmalıdır)
  • data_type (isteğe bağlı): text, number, boolean, date değerlerinden biri

delete-contact-field

Bir kişi alanı tanımını kimliğine göre kalıcı olarak silin.

Parametreler:

  • field_id (gerekli): Silinecek kişi alanının kimliği

create-contact-import

Kişileri toplu olarak içe aktarın. Bir içe aktarma işi kaydı döndürür; durumunu get-contact-import ile sorgulayın.

Parametreler:

  • contacts (gerekli): Kişi girdileri dizisi. Her girdi şunları içermelidir:
    • email (gerekli): Kişinin e-posta adresi
    • fields (isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerleri (dize veya sayı değerleri)
    • list_ids_included (isteğe bağlı): Kişinin ekleneceği liste kimlikleri
    • list_ids_excluded (isteğe bağlı): Kişinin çıkarılacağı liste kimlikleri

get-contact-import

Oluşturulan/gönderilen/tamamlanan/başarısız olan kişi içe aktarma işinin durumunu ve oluşturulan/güncellenen/sınırı aşan kayıt sayılarını alın.

Parametreler:

  • import_id (gerekli): Kişi içe aktarma işinin kimliği

create-contact-export

VE ile birleştirilen bir dizi filtreyle eşleşen kişileri dışa aktarın. Bir dışa aktarma işi kaydı döndürür; status değeri finished olduğunda indirme URL'sini almak için durumu get-contact-export ile sorgulayın.

Parametreler:

  • filters (required): Filtre nesnelerinden oluşan dizi. Her nesne şunları içerir:
    • name (required): Filtre uygulanacak alan (list_id, subscription_status, email vb.)
    • operator (required): equal, not_equal, contains, not_contains, is_empty, is_not_empty değerlerinden biri
    • value (required): Karşılaştırma değeri (dize, sayı, boole değeri veya dizi)

get-contact-export

Bir kişi dışa aktarma işinin durumunu alın. status değeri finished olduğunda, url alanı CSV indirme bağlantısını içerir.

Parametreler:

  • export_id (required): Kişi dışa aktarma işinin kimliği

list-email-campaigns

Hesabın e-posta kampanyalarını en yeniden eskiye doğru, sayfa belirteciyle sayfalandırarak listeler. İsteğe bağlı olarak search ile ada göre filtreleyin.

Parametreler:

  • token (optional): Alınacak sayfa numarası (sayfa belirteciyle sayfalandırma). Varsayılan değer 1
  • per_page (optional): Sayfa başına kampanya sayısı. Varsayılan değer 50, en fazla 100
  • search (optional): Kampanyaları ada göre filtreler (büyük/küçük harfe duyarsız kısmi eşleşme)

get-email-campaign

Kimliğe göre bir e-posta kampanyası alın.

Parametreler:

  • email_campaign_id (required): E-posta kampanyasının kimliği

create-email-campaign

Yeni bir e-posta kampanyası oluşturun. Kampanya her zaman draft durumunda oluşturulur; zamanlama ve başlatma ayrı araçlarla yapılır (schedule-email-campaign, start-email-campaign).

Parametreler:

  • name (required): Kampanya adı
  • domain_id (required): Kampanya için kullanılan doğrulanmış alan adının kimliği; list-domains tarafından döndürüldüğü şekilde
  • from_local_part (required): Gönderen adresinin @ işaretinden önceki kısmı
  • template_attributes (required): Satır içi e-posta şablonu. Şunları içerir:
    • subject (required): E-posta konu satırı (en fazla 255 karakter). Birleştirme etiketlerini destekler; ör. Hi {{first_name}}
    • body_html (optional): HTML gövdesi (tasarım). Kampanya zamanlanmadan veya başlatılmadan önce gereklidir. __unsubscribe_url__ yer tutucusunu içeren bir href özniteliğine sahip bağlantı aracılığıyla abonelikten çıkma bağlantısı ekleyin
    • body_text (optional): E-posta gövdesinin düz metin alternatifi
    • merge_tags (optional): Konuda/gövdede kullanılan birleştirme etiketlerinin yalın adları; ör. ["first_name"]
  • from_display_name (optional): Gönderen başlığında gösterilen görünen ad
  • reply_to (optional): Yanıt adresi bölümleri (display_name, local_part, domain)
  • delivery_mode (optional): rapid (mümkün olan en kısa sürede gönder) veya gradual (delivery_options.emails_per_hour hızında gönder)
  • delivery_options (optional): Gönderim hızını sınırlama seçenekleri (emails_per_hour)
  • contact_list_ids (optional): Gönderim yapılacak kişi listelerinin kimlikleri (dahil edilen listelerin tamamı olarak değerlendirilir)
  • contact_segment_ids (optional): Gönderim yapılacak kişi segmentlerinin kimlikleri (dahil edilen segmentlerin tamamı olarak değerlendirilir)

update-email-campaign

Bir draft e-posta kampanyasını güncelleyin. Yalnızca sağlanan alanlar değişir; şablon yerinde düzenlenir. Başka herhangi bir durumdaki kampanyalar güncellenemez.

Parametreler:

  • email_campaign_id (required): Güncellenecek e-posta kampanyasının kimliği
  • Diğer tüm parametreler isteğe bağlıdır ve create-email-campaign ile aynıdır (name, domain_id, from_local_part, from_display_name, reply_to, template_attributes, delivery_mode, delivery_options, contact_list_ids, contact_segment_ids)

delete-email-campaign

Bir e-posta kampanyasını kimliğine göre silin. Yalnızca draft durumundaki bir kampanya silinebilir.

Parametreler:

  • email_campaign_id (required): Silinecek e-posta kampanyasının kimliği

start-email-campaign

Bir draft e-posta kampanyasının gönderimini hemen başlatın. Yalnızca draft kampanyaları başlatılabilir; şablonun body_html tasarımına sahip olması, hedef kitlenin ve doğrulanmış alan adının ayarlanmış olması gerekir.

Parametreler:

  • email_campaign_id (required): Başlatılacak e-posta kampanyasının kimliği

schedule-email-campaign

Bir draft e-posta kampanyasının gönderimini gelecekteki bir zamanda başlayacak şekilde zamanlayın. Yalnızca draft kampanyaları zamanlanabilir.

Parametreler:

  • email_campaign_id (required): Zamanlanacak e-posta kampanyasının kimliği
  • datetime (required): Kampanyanın gönderileceği zaman (ISO 8601). Gelecekte olmalı ve en fazla 1 ay sonrasına ayarlanabilir

cancel-email-campaign

Bir scheduled e-posta kampanyasını iptal ederek draft durumuna döndürün. Yalnızca scheduled kampanyaları iptal edilebilir.

Parametreler:

  • email_campaign_id (required): İptal edilecek e-posta kampanyasının kimliği

terminate-email-campaign

Şu anda gönderilmekte olan bir e-posta kampanyasını (started, queued veya paused) sonlandırarak devam eden gönderimi durdurun.

Parametreler:

  • email_campaign_id (required): Sonlandırılacak e-posta kampanyasının kimliği

reset-email-campaign

Bir scheduled e-posta kampanyasını yeniden draft durumuna getirin. Yalnızca scheduled kampanyaları sıfırlanabilir.

Parametreler:

  • email_campaign_id (required): Sıfırlanacak e-posta kampanyasının kimliği

get-email-campaign-stats

Bir e-posta kampanyasının toplu performans istatistiklerini alın (teslimatlar, açılmalar, tıklamalar, geri dönmeler, spam şikâyetleri ve abonelikten çıkmalar için sayılar ve oranlar).

Parametreler:

  • email_campaign_id (required): E-posta kampanyasının kimliği
  • start_date (optional): Toplama aralığının başlangıcı (dahil), YYYY-MM-DD. Varsayılan olarak kampanyanın en son başlatıldığı gün kullanılır
  • end_date (optional): Toplama aralığının bitişi (dahil), YYYY-MM-DD. Varsayılan olarak geçerli tarih kullanılır

list-accounts

Geçerli API belirtecinin erişebildiği Mailtrap hesaplarını ve her hesabın erişim düzeylerini listeler. MAILTRAP_ACCOUNT_ID olmadan çalışır; bu nedenle hesap kimliğinizi bulmak için kullanın.

Parametreler:

  • Parametre gerekmez

get-billing-usage

Hesabın geçerli faturalandırma dönemi kullanımını alın: gönderim ve test planları, sınırlar ve mevcut sayımlar.

Parametreler:

  • Parametre gerekmez

list-account-accesses

Hesap erişimlerini (kullanıcılar, davetler, API belirteçleri) listeler. İsteğe bağlı filtreler sonucu belirli kaynaklarla sınırlar. Hesap yöneticisi/sahibi izinleri gerekir.

Parametreler:

  • domain_uuids (optional): Alan adı UUID'lerine göre filtrele (dize dizisi)
  • inbox_ids (optional): Sandbox kimliklerine göre filtrele (dize dizisi)
  • project_ids (optional): Sandbox proje kimliklerine göre filtrele (dize dizisi)

remove-account-access

Bir hesap erişimini kimliğine göre kaldırın. User belirteçleri için bu işlem izinlerini iptal eder; Invite veya ApiToken belirteçleri için belirteci tamamen kaldırır. Yönetici/sahip izinleri gerekir.

Parametreler:

  • account_access_id (required): Kaldırılacak erişim kaydının kimliği

get-permission-resources

API belirtecinin yönetici erişimine sahip olduğu tüm kaynakları (sandbox'lar, projeler, alan adları, faturalandırma, hesap) hiyerarşik olarak iç içe geçmiş biçimde alın.

Parametreler:

  • Parametre gerekmez

bulk-update-permissions

Tek bir hesap erişimi için izinleri toplu olarak oluşturun, güncelleyin veya silin. Mevcut (resource_type, resource_id) çiftleri güncellenir; yenileri oluşturulur. Bir izni kaldırmak için ilgili girdide destroy: true değerini ayarlayın.

Parametreler:

  • account_access_id (required): Hedef hesap erişiminin kimliği
  • permissions (required): İzin girdilerinden oluşan dizi. Her girdi şunları içerir:
    • resource_id (required): Kaynak kimliği (sayı veya dize)
    • resource_type (required): account, project, inbox, domain, billing değerlerinden biri
    • access_level (optional): admin/100 veya viewer/10
    • destroy (optional, boolean): true olduğunda, bu izni oluşturmak/güncellemek yerine kaldırır

list-api-tokens

Hesabın tüm API belirteçlerini listeler.

Parametreler:

  • Parametre gerekmez

create-api-token

Yeni bir API belirteci oluşturun. Yanıt, gizli token değerini içerir — tam belirtecin döndürüldüğü tek sefer budur; bu nedenle hemen kaydedin. Kaybederseniz belirteci yeniden oluşturun.

Parametreler:

  • name (required): Belirteç için görünen ad
  • expires_at (optional): Belirteğin ISO 8601 tarih-saat biçimindeki sona erme zamanı. Sunucu varsayılanını (1 yıl) kullanmak için belirtmeyin; hiç sona ermeyen bir belirteç için açıkça null değerini gönderin. Geçmiş tarihler veya 5 yıldan daha ileri tarihler reddedilir
  • resources (optional): Belirteğin kapsamını sınırlamak için kaynak izinleri dizisi. Her girdi şunları içerir:
    • resource_type (required): account, project, inbox, domain, billing değerlerinden biri
    • resource_id (required): Kaynağın kimliği
    • access_level (required): 100 (yönetici) veya 10 (görüntüleyici)

get-api-token

Bir API belirtecini kimliğine göre alın. Yalnızca meta veriler döndürülür — gizli belirteç değeri burada döndürülmez (yalnızca create-api-token / reset-api-token çağrılarında döndürülür).

Parametreler:

  • api_token_id (required): API belirtecinin kimliği

reset-api-token

Bir API belirtecini kimliğine göre sıfırlayın (döndürün). Yanıt, yeni gizli token değerini içerir — yalnızca bu çağrıda döndürülür; bu nedenle hemen kaydedin. Önceki belirteç geçersiz kılınır.

Parametreler:

  • api_token_id (required): Sıfırlanacak API belirtecinin kimliği
  • expires_at (optional): Yeni belirtecin ISO 8601 tarih-saat biçimindeki sona erme zamanı. Sunucu varsayılanını (1 yıl) kullanmak için belirtmeyin; hiç sona ermeyen bir belirteç için açıkça null değerini gönderin. Geçmiş tarihler veya 5 yıldan daha ileri tarihler reddedilir

delete-api-token

Bir API belirtecini kimliğine göre kalıcı olarak silin. Silindikten sonra belirteç kimlik doğrulaması için kullanılamaz.

Parametreler:

  • api_token_id (required): Silinecek API belirtecinin kimliği

list-sub-accounts

Kuruluştaki alt hesapları listeler. MAILTRAP_ORGANIZATION_ID env var ve alt hesap yönetimi izinleri gerekir.

Parametreler:

  • Parametre gerekmez

create-sub-account

Kuruluş altında yeni bir alt hesap oluşturun. MAILTRAP_ORGANIZATION_ID env var ve alt hesap yönetimi izinleri gerekir.

Parametreler:

  • name (required): Yeni alt hesap için görünen ad

delete-sub-account

Bir alt hesabı kimliğine göre kalıcı olarak silerek tüm verilerini kaldırın. Son alt hesabın silinmesi kuruluşu da siler; yinelenen bir çağrı 404 döndürür. Aynı alt hesabın eşzamanlı olarak silinmesi 409 döndürür. MAILTRAP_ORGANIZATION_ID env var ve kuruluş yöneticisi izinleri gerekir; ayrıca kuruluşta Organization & Sub-accounts özelliği etkin olmalıdır (aksi durumda 403).

Parametreler:

  • sub_account_id (required): Silinecek alt hesabın kimliği

list-inbound-folders

Hesaptaki tüm gelen kutusu klasörlerini listeler. Biçimlendirilmiş bir özet döndürür.

Parametreler:

  • Parametre gerekmez

get-inbound-folder

Tek bir gelen kutusu klasörünü kimliğine göre alın. Klasörün tam kaydını JSON olarak döndürür.

Parametreler:

  • folder_id (required): Gelen kutusu klasörünün kimliği

create-inbound-folder

Yeni bir gelen kutusu klasörü oluşturun.

Parametreler:

  • name (required): Klasör adı

update-inbound-folder

Bir gelen kutusu klasörünü yeniden adlandırın.

Parametreler:

  • folder_id (required): Gelen kutusu klasörünün kimliği
  • name (required): Yeni klasör adı

delete-inbound-folder

Bir gelen kutusu klasörünü içindeki tüm gelen kutularıyla birlikte kalıcı olarak silin.

Parametreler:

  • folder_id (required): Gelen kutusu klasörünün kimliği

list-inbound-inboxes

Bir gelen kutusu klasöründeki tüm gelen kutularını listeler. Biçimlendirilmiş bir özet döndürür.

Parametreler:

  • folder_id (required): Gelen kutusu klasörünün kimliği

get-inbound-inbox

Tek bir gelen kutusunu kimliğine göre alın. Gelen kutusunun tam kaydını JSON olarak döndürür.

Parametreler:

  • folder_id (required): Gelen kutusu klasörünün kimliği
  • inbox_id (required): Gelen kutusunun kimliği

create-inbound-inbox

Bir klasörde yeni bir gelen kutusu oluşturun.

Parametreler:

  • folder_id (gerekli): Gelen kutusu klasörünün kimliği
  • name (gerekli): Gelen kutusunun adı
  • domain_id (isteğe bağlı): Özel bir etki alanına bağlayın (tüm adresleri yakalayan gelen kutusu). Mailtrap tarafından barındırılan bir gelen kutusu için bu alanı boş bırakın

update-inbound-inbox

Gelen kutusunu yeniden adlandırın.

Parametreler:

  • folder_id (gerekli): Gelen kutusu klasörünün kimliği
  • inbox_id (gerekli): Gelen kutusunun kimliği
  • name (gerekli): Yeni gelen kutusu adı

delete-inbound-inbox

Gelen kutusunu kalıcı olarak silin.

Parametreler:

  • folder_id (gerekli): Gelen kutusu klasörünün kimliği
  • inbox_id (gerekli): Gelen kutusunun kimliği

list-inbound-messages

Gelen kutusunda alınan iletileri listeleyin (imleçle sayfalandırılır). Daha fazla sonuç varsa sonraki sayfaya ilişkin bir ipucu içeren biçimlendirilmiş bir özet döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • last_id (isteğe bağlı): Önceki yanıtın last_id değerinden alınan sayfalama imleci

get-inbound-message

Tam gövdesi ve ek indirme URL'leriyle birlikte tek bir gelen iletiyi alın. Tam ileti kaydını JSON olarak döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): İletinin kimliği

delete-inbound-message

Gelen iletiyi kalıcı olarak silin.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): İletinin kimliği

reply-to-inbound-message

Gelen iletiyi yanıtlayın (özgün göndericiye gönderilir). Gerçek bir e-posta gönderir. Adresler, yalın bir e-posta dizesi veya { email, name? } kabul eder.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): Yanıtlanacak iletinin kimliği
  • text / html (en az biri önerilir): Yanıt gövdesi
  • from (isteğe bağlı): Gönderen. Mailtrap tarafından barındırılan gelen kutularında reddedilir; özel etki alanlı gelen kutularında gereklidir
  • cc / bcc / reply_to (isteğe bağlı): Ek adresler
  • category (isteğe bağlı): İleti kategorisi
  • attachments (isteğe bağlı): { content (base64), filename, type?, disposition?, content_id? } dizisi
  • headers / custom_variables (isteğe bağlı): Dize değerlerinden oluşan nesneler

reply-all-to-inbound-message

Gelen iletiyi yanıtlayın ve özgün iletinin diğer alıcılarını da kopyalayın. Gerçek bir e-posta gönderir. reply-to-inbound-message ile aynı parametreler.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): Yanıtlanacak iletinin kimliği
  • Ayrıca reply-to-inbound-message ile aynı isteğe bağlı gönderim alanları

forward-inbound-message

Gelen iletiyi yeni alıcılara iletin. Gerçek bir e-posta gönderir.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): İletilecek iletinin kimliği
  • to (gerekli): En az bir alıcı (yalın e-posta dizesi veya { email, name? }, ya da bir dizi)
  • Ayrıca reply-to-inbound-message ile aynı isteğe bağlı gönderim alanları

list-inbound-threads

Gelen kutusundaki konuşma dizilerini listeleyin (imleçle sayfalandırılır); isteğe bağlı olarak search ile filtrelenebilir. Daha fazla sonuç varsa sonraki sayfaya ilişkin bir ipucu içeren biçimlendirilmiş bir özet döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • last_id (isteğe bağlı): Önceki yanıtın last_id değerinden alınan sayfalama imleci
  • search (isteğe bağlı): Dizi konusuyla ve iletilerindeki from/to/cc/bcc adresleriyle eşleşen, büyük/küçük harfe duyarsız metin. Sayfalama yaparken aynı değeri kullanın

get-inbound-thread

İletileri gömülü olarak içeren tek bir gelen konuşma dizisini alın (en eskiden başlayarak). Tam konuşma dizisi kaydını JSON olarak döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • thread_id (gerekli): Konuşma dizisinin kimliği

delete-inbound-thread

Gelen konuşma dizisini kalıcı olarak silin.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • thread_id (gerekli): Konuşma dizisinin kimliği

list-inbound-forward-rules

Gelen kutusunun iletme kurallarını listeleyin. Biçimlendirilmiş bir özet döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği

get-inbound-forward-rule

Tek bir gelen ileti iletme kuralını kimliğine göre alın. Koşulları ve hedefleri dâhil olmak üzere kuralın tam kaydını JSON olarak döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • forward_rule_id (gerekli): İletme kuralının kimliği

create-inbound-forward-rule

Gelen kutusunda bir iletme kuralı oluşturun. Tüm koşullarla eşleşen alınmış iletiler kuralın hedeflerine iletilir.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • name (gerekli): Gelen kutusu içinde benzersiz olan kural adı
  • conditions (isteğe bağlı): { match_type, operator, value?, header_key? } dizisi. match_type, sender, recipient veya header değerlerinden biridir; operator, equal, not_equal, contains, starts_with, ends_with, empty veya not_empty değerlerinden biridir (empty/not_empty yalnızca header için geçerlidir ve value almaz); header_key, header için gereklidir. Her iletiyle eşleşmesi için bu alanı boş bırakın veya [] değerini iletin
  • destinations (isteğe bağlı): Eşleşen iletilerin iletileceği { email } dizisi

update-inbound-forward-rule

Gelen ileti iletme kuralını güncelleyin. Yalnızca sağlanan alanlar değişir; sağlanan bir conditions veya destinations dizisi, kümenin tamamının yerini alır.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • forward_rule_id (gerekli): İletme kuralının kimliği
  • name (isteğe bağlı): Yeni kural adı
  • conditions (isteğe bağlı): Değiştirilecek koşul kümesi (oluşturma işlemindekiyle aynı biçimde); [] tüm koşulları kaldırır ve böylece kural her iletiyle eşleşir
  • destinations (isteğe bağlı): Değiştirilecek hedef kümesi; [] tüm hedefleri kaldırır

delete-inbound-forward-rule

Gelen ileti iletme kuralını kalıcı olarak silin.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • forward_rule_id (gerekli): İletme kuralının kimliği

Geliştirme

  1. Depoyu klonlayın:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
  1. Bağımlılıkları yükleyin:
npm install

Claude Desktop veya Cursor ile yapılandırma

[!TIP] Yapılandırma dosyasının konumu için Kurulum bölümüne bakın.

Aşağıdaki yapılandırmayı ekleyin:

{
  "mcpServers": {
    "mailtrap": {
      "command": "node",
      "args": ["/path/to/mailtrap-mcp/dist/index.js"],
      "env": {
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "your_sender@example.com",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
      }
    }
  }
}

Node.js yönetimi için asdf kullanıyorsanız yürütülebilir dosyanın mutlak yolunu kullanmalısınız:

(Mac örneği)

{
  "mcpServers": {
    "mailtrap": {
      "command": "/Users/<username>/.asdf/shims/node",
      "args": ["/path/to/mailtrap-mcp/dist/index.js"],
      "env": {
        "PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
        "ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
        "ASDF_DATA_DIR": "/Users/<username>/.asdf",
        "ASDF_NODEJS_VERSION": "22.14.0",
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "your_sender@example.com",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
      }
    }
  }
}

VS Code

[!TIP] Yapılandırma dosyasının konumu için Kurulum bölümüne bakın.

{
  "mcp": {
    "servers": {
      "mailtrap": {
        "command": "node",
        "args": ["/path/to/mailtrap-mcp/dist/index.js"],
        "env": {
          "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
          "DEFAULT_FROM_EMAIL": "your_sender@example.com",
          "MAILTRAP_ACCOUNT_ID": "your_account_id",
          "MAILTRAP_SANDBOX_ID": "your_sandbox_id"
        }
      }
    }
  }
}

Test

Gerçek Mailtrap üzerinde araçları çalıştırma

Gerçek bir Mailtrap hesabında bir aracı uçtan uca denemenin iki yolu vardır: etkileşimli keşif için MCP Inspector tarayıcı arayüzü veya kabuktan tek seferlik çağrılar için CLI modu.

Her iki yöntemde de önce paketin derlenmesi gerekir:

npm run build

ve kabuğunuzda MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID dışa aktarılmalıdır (mcp:cli betiği her ikisini de başlatılan sunucuya iletir).

Tarayıcı arayüzü

npm run dev

Inspector, http://localhost:6274 gibi bir URL yazdırır. URL'yi açın, Tools sekmesine geçin, bir araç seçin (ör. get-template), parametreleri JSON olarak doldurun ve Run düğmesine basın. Mailtrap yanıtı aşağıdaki panelde görünür.

CLI

Arayüzü kullanmadan tek seferlik çağrılar yapmak için npm run mcp:cli kullanın. npm'in bayrakları olduğu gibi iletmesi için Inspector'ın CLI bayraklarını -- sonrasına ekleyin:

# List all tools
npm run mcp:cli -- --method tools/list

# Call a tool — flags after the `--`
npm run mcp:cli -- \
  --method tools/call \
  --tool-name get-template \
  --tool-arg template_id=12345

# Multiple --tool-arg flags for tools with several params
npm run mcp:cli -- \
  --method tools/call \
  --tool-name send-domain-setup-instructions \
  --tool-arg domain_id=3938 \
  --tool-arg email=devops@example.com

MCPB Sunucusunu çalıştırma

# Run the MCPB server directly
node dist/mcpb-server.js

# Or use the provided binary
mailtrap-mcpb-server

[!TIP] MCP Inspector ile geliştirme için:

npm run dev:mcpb

Hata İşleme

Bu sunucu, MCP kurallarıyla uyumlu yapılandırılmış hata işleme kullanır:

  • VALIDATION_ERROR: Girdi doğrulama hataları
  • CONFIGURATION_ERROR: Eksik veya geçersiz yapılandırma
  • EXECUTION_ERROR: Çalışma zamanı yürütme hataları
  • TIMEOUT: İşlem zaman aşımı (varsayılan 30 saniye)

Hatalar, uygulanabilir mesajlar içerir ve yapılandırılmış biçimde günlüğe kaydedilir.

Güvenlik

  • Girdi, Zod şemalarıyla doğrulanır
  • Ortam değişkenleri güvenli biçimde işlenir
  • İşlemlerde zaman aşımı koruması (30 saniye)
  • Hassas ayrıntılar hata çıktısında temizlenir

Günlük Kaydı

INFO, WARN, ERROR ve DEBUG düzeylerinde yapılandırılmış JSON günlükleri.

DEBUG=true ayarını yaparak hata ayıklama günlük kaydını etkinleştirin.

# Example: enable debug logging
DEBUG=true node dist/mcpb-server.js

Önemli: Sunucu günlükleri stderr'e yazar; böylece stdout, JSON-RPC çerçeveleri için ayrılmış kalır. Bu, günlüklerin araya girmesi nedeniyle ana makinelerin JSON ayrıştırma hatalarıyla karşılaşmasını önler.

jq kullanarak günlük analizi örneği:

# Filter error logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "error")'

# Filter debug logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "debug")'

Sorun Giderme

Yaygın sorunlar:

  1. API Token eksik: MAILTRAP_API_TOKEN ayarının yapıldığından emin olun
  2. Sandbox çalışmıyor: araç çağrısında sandbox_id sağlayın (veya ileti gönderme/listeleme/gösterme araçlarında eski test_inbox_id değerini kullanın) ya da MAILTRAP_SANDBOX_ID ortam değişkenini ayarlayın
  3. Zaman aşımı hataları: ağ bağlantısını ve Mailtrap API durumunu kontrol edin
  4. Doğrulama hataları: gerekli tüm alanların sağlandığından emin olun

Katkıda Bulunma

Hata raporları ve çekme istekleri GitHub üzerinden memnuniyetle karşılanır. Bu proje, iş birliği için güvenli ve kapsayıcı bir ortam sunmayı amaçlar; katkıda bulunanların davranış kurallarına uyması beklenir.

Lisans

Paket, MIT Lisansı koşulları altında açık kaynak olarak sunulmaktadır.

Davranış Kuralları

Mailtrap projesinin kod tabanları, sorun izleyicileri, sohbet odaları ve posta listeleriyle etkileşimde bulunan herkesin davranış kurallarına uyması beklenir.