Mailtrap

resmi

Mailtrap Email API ile entegre olur.

Mailtrap MCP ile neler yapabilirsiniz?

  • İşlemsel e-postalar göndersend-email ile satır içi içerik veya şablon kullanarak, CC/BCC ve özel değişkenler dahil bir e-posta göndermeyi isteyin.
  • E-posta şablonlarını yönet — Yeniden kullanılabilir e-posta tasarımlarını korumak için list-templates, create-template, update-template veya delete-template kullanın.
  • Teslimat günlüklerini incele — Alıcı, durum veya tarih gibi filtrelerle list-email-logs sorgulayın, ardından get-email-log-message ile ayrıntılara inin.
  • E-postaları sandbox ortamında test etsend-sandbox-email ile bir test gelen kutusuna gönderin, ardından get-sandbox-messages ve show-sandbox-email-message ile mesajları inceleyin.
  • Gönderim performansını analiz etget-sending-stats ile teslimat, geri dönüş ve etkileşim oranlarını alın; isteğe bağlı olarak alan adı veya kategoriye göre ayrıştırın.
  • Gönderim altyapısını yapılandırlist-sending-domains yönetin, alan adları oluşturun veya silin ve DNS kurulum talimatlarını alın.

Dokümantasyon

TypeScript test NPM

MCP Mailtrap Sunucusu

Mailtrap üzerinden sandbox içinde gönderme ve test etme araçları sağlayan bir MCP sunucusu.

Ön Koşullar

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

  1. Mailtrap hesabı oluşturun
  2. Alan adınızı doğrulayın
  3. API token'ınızı Mailtrap API ayarları bölümünden alın
  4. Hesap ID'nizi Mailtrap hesap yönetimi bölümünden alın

Gerekli Ortam Değişkenleri:

  • MAILTRAP_API_TOKEN - Tüm işlevler için gereklidir
  • MAILTRAP_ACCOUNT_ID - Şablonlar, istatistikler, e-posta günlükleri, sandbox listesi/görüntüleme ve gönderim alan adları için gereklidir. Yalnızca gönderim araçları (send-email, send-sandbox-email ve batch-send-* araçları) için isteğe bağlıdır.

İsteğe Bağlı (bunun yerine araç parametreleri olarak da iletilebilir):

  • DEFAULT_FROM_EMAIL - send-email, send-sandbox-email veya batch-send-* araçlarına from sağlanmadığında varsayılan gönderen e-postası (base.from alanını doldurur). from parametresi aracılığıyla çağrı başına gönderen değiştirmeyi sağlar.
  • MAILTRAP_SANDBOX_ID - sandbox_id sağlanmadığında sandbox araçları için varsayılan sandbox kimliği. sandbox_id parametresi aracılığıyla çağrı başına sandbox'lar arasında geçiş yapmayı sağlar.
  • MAILTRAP_TEST_INBOX_ID - test_inbox_id sağlanmadığında sandbox araçları için varsayılan test gelen kutusu kimliği. test_inbox_id parametresi aracılığıyla çağrı başına gelen kutuları arasında geçiş yapmayı sağlar. MAILTRAP_SANDBOX_ID için eski takma ad; yine de yedek olarak kabul edilir.
  • MAILTRAP_ORGANIZATION_ID - Organizasyon araçları için gereklidir (list-sub-accounts, create-sub-account).
  • MAILTRAP_ORGANIZATION_API_TOKEN - Organizasyon kapsamlı API token'ı. Organizasyon araçları için gereklidir (MAILTRAP_API_TOKEN'dan ayrıdır).

Hızlı Kurulum

Install in Cursor

Install with Node in VS Code

Smithery CLI

Smithery, tüm yapay zeka istemcileriyle çalışan, MCP sunucuları için bir kayıt defteri yükleyicisi ve yöneticisidir.

npx @smithery/cli install mailtrap

Smithery, istemci yapılandırmasını otomatik olarak yönetir ve etkileşimli bir kurulum süreci sunar. MCP sunucularıyla yerel olarak başlamanın en kolay yoludur.

Kurulum

Claude Desktop

Mailtrap sunucusunu kurmak için MCPB kullanın. Bu dosyaları Sürümler bölümünde bulabilirsiniz.
.MCPB dosyasını indirip açın. Claude Desktop'unuz varsa - dosyayı açacak ve yapılandırmayı önerecektir.

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_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

Node.js'i yönetmek için asdf kullanıyorsanız, çalıştırılabilir dosyaya mutlak yol kullanmalısınız (Mac için örnek)

{
  "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": "20.6.1",
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "your_sender@example.com",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

Claude Desktop yapılandırma dosyası konumu

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

Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor yapılandırma dosyası konumu

Mac: ~/.cursor/mcp.json

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

VS Code

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

Komut Paletinde ç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_TEST_INBOX_ID": "your_test_inbox_id"
        }
      }
    }
  }
}

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

MCP Bundle (MCPB)

MCP Bundle'ları destekleyen ana bilgisayarlarda kolay kurulum için bir .mcpb paket 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, mailtrap-mcp.mcpb deposunu ve dist/ içindeki derlenmiş yapıtları kullanarak manifest.json oluşturur.

Kullanım

Yapılandırıldıktan sonra, aracıya e-posta göndermesini ve şablonları yönetmesini isteyebilirsiniz, örneğin:

E-posta Gönderme İşlemleri:

  • "john.doe@example.com adresine 'Yarın Toplantı' konulu ve yaklaşan toplantımızla ilgili dostça bir hatırlatma içeren bir e-posta gönder."
  • "sarah@example.com'a proje güncellemesi hakkında e-posta gönder ve ekibi team@example.com adresine CC yap"
  • "Karşılama şablonunu (uuid b81aabcd-1a1e-41cf-91b6-eca0254b3d96) new@example.com adresine { name: 'Alex' } değişkenleriyle gönder"
  • "test@example.com adresine 'Test Şablonu' konulu bir sandbox e-postası göndererek karşılama e-postamızın nasıl göründüğünü önizle"

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

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

Gönderim İstatistikleri:

  • "Ocak 2025 için gönderim istatistiklerini al"
  • "Geçen ay alan adına göre teslimat oranlarını göster"
  • "2025-01-01 ile 2025-01-31 arasındaki e-posta istatistiklerim kategorilere göre nedir?"

Sandbox İşlemleri:

  • "Sandbox gelen kutumdaki tüm mesajları al"
  • "Sandbox mesajlarının ilk sayfasını göster"
  • "Sandbox gelen kutumda 'test' içeren mesajları ara"
  • "5159037506 kimlikli sandbox mesajının ayrıntılarını göster"

Şablon İşlemleri:

  • "Mailtrap hesabımdaki tüm e-posta şablonlarını listele"
  • "'Karşılama E-postası' adında ve 'Platformumuza hoş geldiniz!' konulu yeni bir e-posta şablonu oluştur"
  • "12345 kimlikli şablonun konusunu 'Güncellenmiş Karşılama Mesajı' olarak değiştir"
  • "67890 kimlikli şablonu sil"

Gönderim Alan Adları:

  • "Gönderim alan adlarımı listele"
  • "3938 kimlikli gönderim alan adını al"
  • "example.com için bir gönderim alan adı oluştur"
  • "3938 numaralı gönderim alan adını sil"
  • "DNS kurulum talimatlarıyla birlikte 3938 numaralı gönderim alan adını al"

Kullanılabilir Araçlar

send-email

Mailtrap üzerinden işlemsel bir 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ı): { email, name? } olarak gönderen (çalışma zamanında yalnızca 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 (yalnızca e-posta dizeleri veya dizi olmayan tek bir adres de çalışma zamanında 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ı dizisi (yalnızca e-posta dizeleri de çalışma zamanında kabul edilir).
  • bcc (isteğe bağlı): { email, name? } nesneleri olarak BCC alıcı dizisi (yalnızca e-posta dizeleri de çalışma zamanında 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ı): Takip 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 bir Mailtrap e-posta şablonu kullanın. Ayarlandığında, subject / text / html / category atlanmalıdır (Mailtrap API'sine göre).
  • template_variables (isteğe bağlı): template_uuid tarafından başvurulan şablonda değiştirilen değişkenlerin nesnesi. Yalnızca template_uuid ile birlikte izin verilir.

batch-send-transactional-email

Tek bir Mailtrap API çağrısında bir toplu işlemsel e-posta gönderir (varsayılan gönderim akışı). Paylaşılan alanlar base üzerinde; alıcı başına geçersiz kılmalar 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ı — taban değeri her istekle birleştirildikten sonra kontrol edilir.

Parametreler:

  • base (isteğe bağlı): Toplu iş genelinde paylaşılan alanları içeren nesne.
    • from (isteğe bağlı): { email, name? } olarak gönderen (çalışma zamanında yalnızca e-posta dizesi de kabul edilir). DEFAULT_FROM_EMAIL değerine geri döner.
    • 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ışlayıcıdır.
    • custom_variables (isteğe bağlı): Varsayılan özel değişkenler (dize değerli).
    • headers (isteğe bağlı): Varsayılan özel başlıklar.
  • requests (zorunlu): Alıcı başına mesajların boş olmayan dizisi. Her girdi şunları içerir:
    • to (isteğe bağlı): { email, name? } nesneleri olarak alıcı dizisi (yalnızca e-posta dizeleri veya dizi olmayan tek bir adres de çalışma zamanında 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 herhangi bir alan eşleşen base değerine geri döner.
    • custom_variables, headers (isteğe bağlı).

batch-send-bulk-email

Mailtrap'in toplu gönderim akışı API'si üzerinden bir toplu e-posta gönderir. base + requests[] biçimi, doğrulama ve satır içi-şablon kuralları batch-send-transactional-email ile aynıdır — tek fark, bu aracın çağrıyı işlemsel uç nokta yerine toplu uç nokta üzerinden 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şi) listeler. IDE'den 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 sayfalama imleci
  • sent_after (isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu saatten sonra gönderilen günlükler
  • sent_before (isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu saatten ö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). Konunun varlığına göre filtrelemek için subject_operator: empty/not_empty kullanın.
  • sending_domain_id (isteğe bağlı): Gönderim alan adı kimliğine (sayı) göre filtrele; 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çma 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); *_operator ile kullanın: equal, not_equal
  • recipient_mx (isteğe bağlı): Alıcı MX'ine 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

Kimliğe (UUID) göre tek bir e-posta günlüğü mesajı alır: okunabilir bir özet (gönderen, alıcı, konu, gönderim zamanı, durum, kategori, akış, etkileşim, teslimat bağlamı), 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 (zorunlu): E-posta günlük mesajının UUID'si (gönderme yanıtından veya e-posta günlüklerini listeleme). Mesaj kimliklerini bulmak için list-email-logs kullanın.
  • include_content (isteğe bağlı): true olduğunda, ham EML'yi getirir (eğer raw_message_url mevcutsa) ve ayrıştırılmış HTML ve düz metin gövde bölümlerini ekler, show-sandbox-email-message ile benzer.

get-sending-stats

Belirli bir tarih aralığı için e-posta gönderme istatistiklerini (teslimat, geri dönme, açılma, tıklama, spam oranları) alın. İsteğe bağlı olarak alan adı, kategori, e-posta servis sağlayıcısı veya tarihe göre ayrıştırın. Editörden ayrılmadan teslimat oranlarını kontrol edin.

Parametreler:

  • start_date (zorunlu): İstatistik aralığı için başlangıç tarihi (YYYY-MM-DD)
  • end_date (zorunlu): İstatistik aralığı için bitiş tarihi (YYYY-MM-DD)
  • breakdown (isteğe bağlı): İstatistikleri nasıl ayrıştıracağınız: aggregated (varsayılan), by_domain, by_category, by_email_service_provider veya by_date
  • sending_domain_ids (isteğe bağlı): Sonuçları bu gönderim alan adı kimlikleriyle sınırlayın (tamsayı dizisi)
  • sending_streams (isteğe bağlı): transactional ve/veya bulk ile sınırlayın (dize dizisi)
  • categories (isteğe bağlı): Bu e-posta kategorileriyle sınırlayın (dize dizisi)
  • email_service_providers (isteğe bağlı): Bu sağlayıcılarla sınırlayın, örn. Google, Yahoo, Outlook (dize dizisi)

create-template

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

Parametreler:

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

list-templates

Mailtrap hesabınızdaki tüm e-posta şablonlarını listeler.

Parametreler:

  • Parametre gerekmez.

get-template

Kimliğe göre tek bir e-posta şablonu alın; konu, kategori ve HTML/metin gövdesi dahil.

Parametreler:

  • template_id (zorunlu): Getirilecek şablonun kimliği

update-template

Mevcut bir e-posta şablonunu günceller.

Parametreler:

  • template_id (zorunlu): 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ıldığında güncelleme yapmak için en az bir güncellenebilir alan (ad, konu, html, metin veya kategori) sağlanmalıdır.

delete-template

Mevcut bir e-posta şablonunu siler.

Parametreler:

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

send-sandbox-email

Geliştirme ve test amaçlı olarak Mailtrap test gelen kutunuza bir 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:

  • test_inbox_id (isteğe bağlı): Mailtrap test gelen kutusu kimliği. MAILTRAP_TEST_INBOX_ID ayarlanmadıysa zorunludur; belirli bir gelen kutusunu hedeflemek için her çağrıda geçin.
  • from (isteğe bağlı): Gönderen, { email, name? } olarak (çalışma zamanında çıplak bir e-posta dizesi de kabul edilir). Sağlanmazsa DEFAULT_FROM_EMAIL kullanılır.
  • to (isteğe bağlı): Alıcı dizisi, { email, name? } nesneleri olarak (dizideki çıplak e-posta dizeleri veya virgülle ayrılmış düz e-postalar da çalışma zamanında kabul edilir). cc veya bcc sağlanmışsa isteğe bağlıdır; to / cc / bcc öğelerinden en az biri bir alıcı içermelidir.
  • cc (isteğe bağlı): CC alıcı dizisi, { email, name? } nesneleri olarak (çıplak e-posta dizeleri de çalışma zamanında kabul edilir).
  • bcc (isteğe bağlı): BCC alıcı dizisi, { email, name? } nesneleri olarak (çıplak e-posta dizeleri de çalışma zamanında kabul edilir).
  • subject (koşullu): E-posta konu satırı. Satır içi gönderimler için zorunludur; 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) zorunludur; 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) zorunludur; template_uuid ayarlandığında atlanmalıdır.
  • category (isteğe bağlı): İzleme 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 bir Mailtrap e-posta şablonu kullanın. Ayarlandığında subject / text / html / category atlanmalıdır.
  • template_variables (isteğe bağlı): template_uuid tarafından başvurulan şablona ikame edilen değişkenlerin nesnesi. Yalnızca template_uuid ile birlikte izin verilir.

batch-send-sandbox-email

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

Parametreler:

  • sandbox_id (isteğe bağlı): Mailtrap sandbox (test gelen kutusu) kimliği. MAILTRAP_SANDBOX_ID ayarlanmadıysa zorunludur; belirli bir sandbox'ı hedeflemek için her çağrıda geçin.
  • base (isteğe bağlı), requests (zorunlu): Yukarıdaki batch-send-transactional-email bölümüne bakın.

[!NOTE] Sandbox araçları için, araç çağrısında test_inbox_id sağlayın veya MAILTRAP_TEST_INBOX_ID ortam değişkenini ayarlayın. test_inbox_id geçirerek her çağrıda gelen kutuları arasında geçiş yapabilirsiniz. sandbox_id alan araçlar önce MAILTRAP_SANDBOX_ID kullanır.

get-sandbox-messages

Mailtrap test gelen kutunuzdan mesaj listesi alır. Test sırasında sandbox'ınızda hangi e-postaların alındığını kontrol etmek için kullanışlıdır.

Parametreler:

  • page (isteğe bağlı): Sayfalama için sayfa numarası (minimum: 1)
  • last_id (isteğe bağlı): Son mesaj kimliğini kullanarak sayfalama. Belirtilen mesaj kimliğinden sonraki mesajları döndürür (minimum: 1)
  • search (isteğe bağlı): Mesajları filtrelemek için arama sorgusu

[!NOTE] Tüm parametreler isteğe bağlıdır. Hiçbiri sağlanmazsa, gelen kutusundaki mesajların ilk sayfası döndürülür. Geleneksel sayfalama için page, imleç tabanlı sayfalama için last_id veya mesajları içeriğe göre filtrelemek için search kullanın.

show-sandbox-email-message

Mailtrap test gelen kutunuzdan belirli bir e-posta mesajının ayrıntılı bilgilerini ve içeriğini gösterir; HTML ve metin gövde içeriği dahil.

Parametreler:

  • message_id (zorunlu): Alınacak sandbox e-posta mesajının kimliği

[!NOTE] Önce get-sandbox-messages kullanarak mesajların listesini ve kimliklerini alın, ardından belirli bir mesajın tam içeriğini görüntülemek için bu aracı kullanın.

get-sandbox-project

Kimliğe göre bir sandbox projesi alın; gelen kutuları ve e-posta sayıları dahil.

Parametreler:

  • project_id (zorunlu): Getirilecek projenin kimliği

update-sandbox-project

Mevcut bir sandbox projesini yeniden adlandırın.

Parametreler:

  • project_id (zorunlu): Güncellenecek projenin kimliği
  • name (zorunlu): Proje için yeni ad (2–100 karakter)

list-sandboxes

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

Parametreler:

  • Parametre gerekmez.

mark-sandbox-as-read

Bir sandbox'taki tüm mesajları okundu olarak işaretleyin.

Parametreler:

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

reset-sandbox-credentials

Bir sandbox için SMTP kimlik bilgilerini sıfırlayın. Yeni kullanıcı adı/parolayı döndürür.

Parametreler:

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

enable-sandbox-email-address

Bir sandbox için e-posta ile alma adresini etkinleştirin (mesajları SMTP üzerinden sandbox'a teslim eden Mailtrap adresini açar).

Parametreler:

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

reset-sandbox-email-address

Bir sandbox için yeni bir e-posta ile alma adresi oluşturun.

Parametreler:

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

forward-sandbox-message

Bir sandbox mesajını harici bir e-posta adresine iletin. Aylık iletme kotanızdan düşer.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): İletilecek sandbox mesajının kimliği
  • email (zorunlu): Mesajın iletileceği e-posta adresi

update-sandbox-message

Bir sandbox mesajını okundu veya okunmadı olarak işaretleyin.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Güncellenecek sandbox mesajının kimliği
  • is_read (zorunlu): true okundu olarak işaretler, false okunmadı olarak işaretler

delete-sandbox-message

Tek bir sandbox mesajını silin.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Silinecek sandbox mesajının kimliği

get-sandbox-message-spam-score

Bir sandbox mesajı için SpamAssassin spam raporunu alın (puan, kurallar, tam rapor). show-sandbox-email-message üzerindeki include_spam_report: true için bağımsız alternatif.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-html-analysis

Bir sandbox mesajı için HTML analiz raporunu alın (istemci uyumluluk puanları, sorunlu öğeler). show-sandbox-email-message üzerindeki include_html_analysis: true için bağımsız alternatif.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-headers

Bir sandbox mesajı için ayrıştırılmış posta başlıklarını alın.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-html

Bir sandbox mesajının işlenmiş HTML gövdesini alın.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-text

Bir sandbox mesajının düz metin gövdesini alın.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ya geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-raw

Bir sandbox mesajı için ham, MIME biçimli mesajı (başlıklar + gövde) alın.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'a geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-eml

Mesajı EML dosya yükü olarak işlenmiş şekilde alın (bir bilete eklemek veya başka bir posta istemcisine içe aktarmak için uygundur).

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'ye geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-message-html-source

Bir sandbox mesajının işlenmemiş HTML kaynağını alın (CID bağlantı yeniden yazımları gibi Mailtrap tarafı dönüşümlerden önceki HTML).

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'e geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

list-sandbox-attachments

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

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID'e geri döner.
  • message_id (zorunlu): Sandbox mesajının kimliği

get-sandbox-attachment

Tek bir ek için meta verileri ve indirme URL'sini alın.

Parametreler:

  • sandbox_id (isteğe bağlı): Sandbox kimliği. MAILTRAP_SANDBOX_ID değerine geri döner.
  • message_id (zorunlu): Eki içeren sandbox mesajının kimliği
  • attachment_id (zorunlu): Getirilecek ekin kimliği

list-sending-domains

Gönderim alan adlarını ve DNS doğrulama durumlarını listeler.

Parametreler:

  • Gerekli parametre yok

get-sending-domain

Bir gönderim alan adını kimliğine ve doğrulama durumuna (DNS kayıtları dahil) göre getirir. İsteğe bağlı olarak include_setup_instructions değerini true olarak ayarlayarak DNS kurulum talimatlarını ekleyin.

Parametreler:

  • sending_domain_id (zorunlu): Gönderim alan adı kimliği
  • include_setup_instructions (isteğe bağlı): true ise, yanıta DNS kurulum talimatlarını ekleyin. Varsayılan: false

create-sending-domain

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

Parametreler:

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

delete-sending-domain

Bir gönderim alan adını siler.

Parametreler:

  • sending_domain_id (zorunlu): Silinecek gönderim alan adı kimliği

send-sending-domain-setup-instructions

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

Parametreler:

  • sending_domain_id (zorunlu): Gönderim alan adı kimliği
  • email (zorunlu): DNS kurulum talimatlarının gönderileceği e-posta adresi

list-suppressions

Engellemeleri (kalıcı geri dönüşler, spam şikayetleri, abonelik iptalleri, manuel içe aktarımlar) listeler veya arar. Çağrı başına 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.

delete-suppression

Bir engellemeyi kimliğine göre siler. Mailtrap, bu e-postaya teslimatı yeniden başlatır (tekrar engellenmediği sürece).

Parametreler:

  • suppression_id (zorunlu): Silinecek engellemenin kimliği

list-webhooks

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

Parametreler:

  • Gerekli parametre yok

get-webhook

Tek bir webhook'u kimliğine göre getirir. 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 (zorunlu): Getirilecek webhook'un kimliği

create-webhook

Bir webhook oluşturur. Yanıt, webhook yükü imzalarını doğrulamak için bir signing_secret içerir — bu sır yalnızca oluşturma sırasında döndürülür, bu yüzden şimdi saklayın. Kaybederseniz, webhook'u yeniden oluşturun.

Parametreler:

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

update-webhook

Bir webhook'un değiştirilebilir alanlarını günceller. webhook_type, sending_stream ve domain_id oluşturulduktan sonra değiştirilemez — bunları değiştirmeniz gerekirse webhook'u yeniden oluşturun.

Parametreler:

  • webhook_id (zorunlu): 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): delivery, soft_bounce, bounce, suspension, unsubscribe, open, spam_complaint, click, reject dizisi
  • inbound_inbox_id (isteğe bağlı, yalnızca inbound_receiving): webhook'un bağlı olduğu gelen kutusunun kimliği

delete-webhook

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

Parametreler:

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

get-contact

Bir kişiyi kimliğine veya e-postasına göre getirir. Kişinin tam kaydını (liste üyelikleri, durum, özel alanlar) döndürür.

Parametreler:

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

create-contact

Yeni bir kişi oluşturur.

Parametreler:

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

update-contact

Kimliğe veya e-postaya göre tanımlanan mevcut bir kişiyi günceller. list_ids kişinin tüm üyelik kümesini değiştirir; list_ids_included/list_ids_excluded geri kalanını etkilemeden ekler/kaldırır.

Parametreler:

  • contact_identifier (zorunlu): Kişi kimliği veya e-posta
  • 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 liste ile değiştirin
  • 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-postasına göre kalıcı olarak siler. API bir kayıtla yanıt verirse silinen kişi kaydını döndürür; aksi takdirde bir onay yükü döndürür.

Parametreler:

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

create-contact-event

Bir kişiye (kimlik veya e-posta ile) karşı bir kişi olayı kaydeder. Kişi listesi otomasyonlarını tetiklemek için kullanılır.

Parametreler:

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

list-contact-lists

Hesap için tüm kişi listelerini listeler.

Parametreler:

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

get-contact-list

Bir kişi listesini kimliğine göre getirir.

Parametreler:

  • list_id (zorunlu): Getirilecek kişi listesinin kimliği

create-contact-list

Yeni bir kişi listesi oluşturur.

Parametreler:

  • name (zorunlu): Yeni liste için ad

update-contact-list

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

Parametreler:

  • list_id (zorunlu): Kişi listesinin kimliği
  • name (zorunlu): Liste için yeni ad

delete-contact-list

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

Parametreler:

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

list-contact-fields

Hesap için tüm kişi alanı tanımlarını listeler.

Parametreler:

  • Gerekli parametre yok

get-contact-field

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

Parametreler:

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

create-contact-field

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

Parametreler:

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

update-contact-field

Bir kişi alanı tanımını günceller. name, merge_tag ve data_type değerlerinin herhangi bir kombinasyonu değiştirilebilir.

Parametreler:

  • field_id (zorunlu): 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 siler.

Parametreler:

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

create-contact-import

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

Parametreler:

  • contacts (zorunlu): Kişi girişleri dizisi. Her giriş şunları gerektirir:
    • email (zorunlu): Kişi e-posta adresi
    • fields (isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerleri (dize veya sayı değerler)
    • list_ids_included (isteğe bağlı): Kişinin ekleneceği liste kimlikleri
    • list_ids_excluded (isteğe bağlı): Kişinin kaldırılacağı liste kimlikleri

get-contact-import

Bir kişi içe aktarma işinin durumunu (oluşturuldu/başlatıldı/tamamlandı/başarısız) oluşturulan/güncellenen/limit aşımı sayılarıyla birlikte getirir.

Parametreler:

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

create-contact-export

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

Parametreler:

  • filters (zorunlu): Filtre nesneleri dizisi. Her biri şunlara sahiptir:
    • name (zorunlu): Filtrelenecek alan (list_id, subscription_status, email, vb.)
    • operator (zorunlu): equal, not_equal, contains, not_contains, is_empty, is_not_empty değerlerinden biri
    • value (zorunlu): Karşılaştırma değeri (dize, sayı, boolean veya dizi)

get-contact-export

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

Parametreler:

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

list-accounts

Geçerli API belirtecinin erişebildiği Mailtrap hesaplarını, her hesabın erişim düzeyleriyle birlikte listeler.

Parametreler:

  • Gerekli parametre yok

get-billing-usage

Hesap için geçerli fatura döngüsü kullanımını getirir: gönderim ve test planları, limitler ve geçerli sayılar.

Parametreler:

  • Gerekli parametre yok

list-account-accesses

Hesap için hesap erişimlerini (kullanıcılar, davetler, API belirteçleri) listeler. İsteğe bağlı filtreler sonucu belirli kaynaklara daraltır. Hesap yöneticisi/sahibi izinleri gerektirir.

Parametreler:

  • domain_uuids (isteğe bağlı): Gönderim alan adı UUID'lerine göre filtreleyin (dize dizisi)
  • inbox_ids (isteğe bağlı): Sandbox gelen kutusu kimliklerine göre filtreleyin (dize dizisi)
  • project_ids (isteğe bağlı): Sandbox proje kimliklerine göre filtreleyin (dize dizisi)

remove-account-access

Bir hesap erişimini kimliğine göre kaldırır. User belirticileri için izinlerini iptal eder; Invite veya ApiToken belirticileri için belirticiyi tamamen kaldırır. Yönetici/sahip gerektirir.

Parametreler:

  • account_access_id (zorunlu): 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ı (gelen kutuları, projeler, alan adları, faturalandırma, hesap) hiyerarşiye göre iç içe getirir.

Parametreler:

  • Gerekli parametre yok

bulk-update-permissions

Tek bir hesap erişimi için izinleri toplu olarak oluşturur, günceller veya yok eder. Mevcut (resource_type, resource_id) çiftleri güncellenir; yenileri oluşturulur. Bir girişi kaldırmak için destroy: true değerini ayarlayın.

Parametreler:

  • account_access_id (gerekli): Hedef hesap erişim kimliği
  • permissions (gerekli): İzin girdileri dizisi. Her biri şunları içerir:
    • resource_id (gerekli): Kaynak kimliği (sayı veya metin)
    • resource_type (gerekli): Şunlardan biri: account, project, inbox, domain, billing
    • access_level (isteğe bağlı): admin/100 veya viewer/10
    • destroy (isteğe bağlı, boolean): true olduğunda, bu izni oluşturmak/güncellemek yerine kaldırır

list-api-tokens

Hesaba ait tüm API token'larını listeler.

Parametreler:

  • Parametre gerekmez

create-api-token

Yeni bir API token'ı oluşturur. Yanıt, gizli token değerini içerir — tam token yalnızca bir kez döndürülür, bu yüzden hemen saklayın. Kaybederseniz, token'ı yeniden oluşturun.

Parametreler:

  • name (gerekli): Token için görünen ad
  • resources (isteğe bağlı): Token'ın kapsamını belirleyen kaynak izinleri dizisi. Her girdi şunları içerir:
    • resource_type (gerekli): Şunlardan biri: account, project, inbox, domain, billing
    • resource_id (gerekli): Kaynağın kimliği
    • access_level (gerekli): 100 (yönetici) veya 10 (görüntüleyici)

get-api-token

Kimliğe göre bir API token'ı getirir. Yalnızca meta verileri döndürür — gizli token değeri burada döndürülmez (yalnızca create-api-token / reset-api-token üzerinden).

Parametreler:

  • api_token_id (gerekli): API token'ının kimliği

reset-api-token

Kimliğe göre bir API token'ını sıfırlar (döndürür). Yanıt, yeni gizli token değerini içerir — yalnızca bu çağrıda döndürülür, bu yüzden hemen saklayın. Önceki token geçersiz hale gelir.

Parametreler:

  • api_token_id (gerekli): Sıfırlanacak API token'ının kimliği

delete-api-token

Kimliğe göre bir API token'ını kalıcı olarak siler. Token, silindikten sonra kimlik doğrulaması yapamaz.

Parametreler:

  • api_token_id (gerekli): Silinecek API token'ının kimliği

list-sub-accounts

Kuruluştaki alt hesapları listeler. MAILTRAP_ORGANIZATION_ID ortam değişkeni ve alt hesap yönetim izinleri gerektirir.

Parametreler:

  • Parametre gerekmez

create-sub-account

Kuruluş altında yeni bir alt hesap oluşturur. MAILTRAP_ORGANIZATION_ID ortam değişkeni ve alt hesap yönetim izinleri gerektirir.

Parametreler:

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

list-inbound-folders

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

Parametreler:

  • Parametre gerekmez

get-inbound-folder

Kimliğe göre tek bir gelen klasörünü getirir. Klasör kaydının tamamını JSON olarak döndürür.

Parametreler:

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

create-inbound-folder

Yeni bir gelen klasörü oluşturur.

Parametreler:

  • name (gerekli): Klasör adı

update-inbound-folder

Bir gelen klasörünün adını değiştirir.

Parametreler:

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

delete-inbound-folder

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

Parametreler:

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

list-inbound-inboxes

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

Parametreler:

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

get-inbound-inbox

Kimliğe göre tek bir gelen kutusunu getirir. Gelen kutusu kaydının tamamını JSON olarak döndürür.

Parametreler:

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

create-inbound-inbox

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

Parametreler:

  • folder_id (gerekli): Gelen klasörünün kimliği
  • name (gerekli): Gelen kutusu adı
  • domain_id (isteğe bağlı): Özel bir gönderim alanına bağla (catch-all gelen kutusu). Mailtrap tarafından barındırılan bir gelen kutusu için boş bırakın

update-inbound-inbox

Bir gelen kutusunun adını değiştirir.

Parametreler:

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

delete-inbound-inbox

Bir gelen kutusunu kalıcı olarak siler.

Parametreler:

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

list-inbound-messages

Bir gelen kutusunda alınan mesajları listeler (imleç sayfalı). Daha fazla sonuç olduğunda sonraki sayfa 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 alanından gelen sayfalama imleci

get-inbound-message

Tek bir gelen mesajını, tam gövdesi ve ek indirme URL'leriyle birlikte getirir. Mesaj kaydının tamamını JSON olarak döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): Mesajın kimliği

delete-inbound-message

Bir gelen mesajını kalıcı olarak siler.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): Mesajın kimliği

reply-to-inbound-message

Bir gelen mesajına yanıt verir (orijinal gönderene gönderir). Gerçek bir e-posta gönderir. Adresler, yalın bir e-posta metni veya { email, name? } kabul eder.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • message_id (gerekli): Yanıt verilecek mesajın kimliği
  • text / html (en az birinin girilmesi önerilir): Yanıt gövdesi
  • from (isteğe bağlı): Gönderen. Mailtrap tarafından barındırılan gelen kutuları için reddedilir; özel alan adlı gelen kutuları için gereklidir
  • cc / bcc / reply_to (isteğe bağlı): Ek adresler
  • category (isteğe bağlı): Mesaj kategorisi
  • attachments (isteğe bağlı): { content (base64), filename, type?, disposition?, content_id? } dizisi
  • headers / custom_variables (isteğe bağlı): Metin değerleri nesneleri

reply-all-to-inbound-message

Bir gelen mesajına yanıt verir ve orijinalin diğer alıcılarını da kopyalar. 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ıt verilecek mesajın kimliği
  • Ayrıca reply-to-inbound-message ile aynı isteğe bağlı gönderim alanları

forward-inbound-message

Bir gelen mesajını yeni alıcılara iletir. Gerçek bir e-posta gönderir.

Parametreler:

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

list-inbound-threads

Bir gelen kutusundaki konuşma başlıklarını listeler (imleç sayfalı). Daha fazla sonuç olduğunda sonraki sayfa 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 alanından gelen sayfalama imleci

get-inbound-thread

Tek bir gelen başlığını, mesajları gömülü olarak (en eskiden en yeniye) getirir. Konu kaydının tamamını JSON olarak döndürür.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • thread_id (gerekli): Konunun kimliği

delete-inbound-thread

Bir gelen konusunu kalıcı olarak siler.

Parametreler:

  • inbox_id (gerekli): Gelen kutusunun kimliği
  • thread_id (gerekli): Konunun 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 konumunu Kurulum bölümünde bulabilirsiniz.

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_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

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

(Mac için örnek)

{
  "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": "20.6.1",
        "MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
        "DEFAULT_FROM_EMAIL": "your_sender@example.com",
        "MAILTRAP_ACCOUNT_ID": "your_account_id",
        "MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
      }
    }
  }
}

VS Code

[!TIP] Yapılandırma dosyasının konumunu Kurulum bölümünde bulabilirsiniz.

{
  "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_TEST_INBOX_ID": "your_test_inbox_id"
        }
      }
    }
  }
}

Test Etme

Araçları gerçek Mailtrap üzerinde çalıştırma

Bir aracı gerçek bir Mailtrap hesabına karşı 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 ikisi de önce paketin derlenmesini gerektirir:

npm run build

ve kabuğunuzda MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID dışa aktarılmış olmalı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 olmadan tek seferlik çağrılar için npm run mcp:cli kullanın. Inspector'ın CLI bayraklarını -- sonrasına iletin, böylece npm bunları olduğu gibi iletir:

# 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-sending-domain-setup-instructions \
  --tool-arg sending_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 Yönetimi

Bu sunucu, MCP kurallarıyla uyumlu yapılandırılmış hata yönetimi 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, işlem yapılabilir mesajlar içerir ve yapılandırılmış biçimde kaydedilir.

Güvenlik

  • Girdiler Zod şemalarıyla doğrulanır
  • Ortam değişkenleri güvenli şekilde işlenir
  • İşlemlerde zaman aşımı koruması (30 saniye)
  • Hata çıktısında hassas ayrıntılar temizlenir

Günlükleme

Seviyeleri INFO, WARN, ERROR, DEBUG olan yapılandırılmış JSON günlükleri.

DEBUG=true ayarlayarak hata ayıklama günlüklemesini 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, ana bilgisayarların iç içe geçmiş günlükler nedeniyle 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 ayarlandığından emin olun
  2. Sandbox çalışmıyor: araç çağrısında test_inbox_id sağlayın veya MAILTRAP_TEST_INBOX_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 üzerinde memnuniyetle karşılanır. Bu proje, iş birliği için güvenli ve samimi bir alan olmayı amaçlar; katkıda bulunanların davranış kurallarına uymaları 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.