Mailtrap
resmiMailtrap 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
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:
- Bir Mailtrap hesabı oluşturun
- Alan adınızı doğrulayın
- Mailtrap API ayarlarından API belirtecinizi alın
- Mailtrap hesap yönetiminden Hesap Kimliğinizi alın
- 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 gereklidirMAILTRAP_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ınafromsağlanmadığında kullanılacak varsayılan gönderen e-posta adresi (base.fromalanını doldurduğu yerlerde).fromparametresiyle her çağrıda göndereni değiştirmeyi sağlar.MAILTRAP_SANDBOX_ID- Bir aracınsandbox_idparametresi sağlanmadığında kullanılacak varsayılan sandbox kimliği (sandbox ileti gönderme/listeleme/görüntüleme araçlarında eskitest_inbox_idparametresi de kabul edilir). Parametrelerle her çağrıda sandbox değiştirmeyi sağlar.MAILTRAP_TEST_INBOX_ID-MAILTRAP_SANDBOX_IDiç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_TOKENdeğerinden ayrıdır).
Hızlı Kurulum
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 (uuidb81aabcd-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:
- "bounced@example.com adresi için bastırma kayıtlarını listele."
- "3938 numaralı alan adının işlemsel akışında bounced@example.com adresini bastır."
- "Bastırılmış tüm e-posta adreslerini göster."
- "user@example.com neden e-postalarımı almıyor?"
- "user@example.com adresini bastırma listesinden çıkar."
İ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 ad | Yeni ad |
|---|---|
create-sandbox-inbox | create-sandbox |
get-sandbox-inbox | get-sandbox |
update-sandbox-inbox | update-sandbox |
delete-sandbox-inbox | delete-sandbox |
clean-sandbox-inbox | clean-sandbox |
list-sending-domains | list-domains |
get-sending-domain | get-domain |
create-sending-domain | create-domain |
update-sending-domain | update-domain |
delete-sending-domain | delete-domain |
send-sending-domain-setup-instructions | send-domain-setup-instructions |
sending_domain_id alan adı ve şirket bilgisi araçlarının parametresi | domain_id |
MAILTRAP_TEST_INBOX_ID ortam değişkeni | MAILTRAP_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ğlanmazsaDEFAULT_FROM_EMAILkullanı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).ccveyabccsağlanmışsa isteğe bağlıdır;to/cc/bccalanları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_uuidayarlandığı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_uuidayarlandığı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_uuidayarlandığında atlanmalıdır.category(isteğe bağlı): İzleme ve analiz için e-posta kategorisi.template_uuidayarlandığında atlanmalıdır.template_uuid(isteğe bağlı): Satır içi içerik yerine Mailtrap e-posta şablonu kullanın. Ayarlandığındasubject/text/html/categoryatlanmalıdır (Mailtrap API gereği).template_variables(isteğe bağlı):template_uuidtarafından belirtilen şablonda yerine konan değişkenlerden oluşan nesne. Yalnızcatemplate_uuidile 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 olarakDEFAULT_FROM_EMAILkullanı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).ccveyabccsağlanmışsa isteğe bağlıdır;to/cc/bccalanları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şenbasedeğ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ınnext_page_cursoralanından alınan sayfalama imlecisent_after(isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu zamandan sonra gönderilen günlüklersent_before(isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu zamandan önce gönderilen günlüklerfrom_email(isteğe bağlı): Gönderen e-postasına göre filtrele;from_operatorile kullanın (varsayılan: ci_equal)to_email(isteğe bağlı): Alıcı e-postasına göre filtrele;to_operatorile kullanın (varsayılan: ci_equal)status(isteğe bağlı): Teslimat durumuna göre filtrele: delivered, not_delivered, enqueued, opted_out;status_operatorile kullanın (varsayılan: equal)subject(isteğe bağlı): E-posta konusuna göre filtrele;subject_operatorile kullanın (varsayılan: ci_contain). Konu bulunup bulunmadığına göre filtrelemek içinsubject_operator: empty/not_empty kullanın.sending_domain_id(isteğe bağlı): Alan adına göre filtrele (sayı);sending_domain_id_operatorile kullanın (varsayılan: equal)sending_stream(isteğe bağlı): Akışa göre filtrele: transactional veya bulk;sending_stream_operatorile 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_operatorile 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;*_operatorile kullanın: equal, greater_than, less_thanclient_ip/sending_ip(isteğe bağlı): IP'ye göre filtrele;*_operatorile kullanın: equal, not_equal, contain, not_containemail_service_provider_response(isteğe bağlı): Sağlayıcı yanıt metnine göre filtrele;*_operatorile kullanın (ci_contain vb.)email_service_provider(isteğe bağlı): Sağlayıcıya göre filtrele (tam eşleşme);*_operatorile kullanın: equal, not_equalrecipient_mx(isteğe bağlı): Alıcı MX kaydına göre filtrele;recipient_mx_operatorile kullanın (ci_contain vb.)category(isteğe bağlı): E-posta kategorisine göre filtrele;category_operatorile 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çinlist-email-logskullanın.include_content(isteğe bağlı):trueolduğunda, ham EML'yi (varsaraw_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_providerveyaby_datesending_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ı):transactionalve/veyabulkile 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-DDend_date(gerekli): Tarih aralığının sonu (dahil),YYYY-MM-DDsending_domain_ids(isteğe bağlı): Sonuçları bu alan adı kimlikleriyle sınırlandırın (tamsayı dizisi)sources(isteğe bağlı):campaignsveyaautomationsistatistikleri 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(veyatext) gereklidir: Şablonun HTML içeriğitext(veyahtml) 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ı1per_page(isteğe bağlı): Sayfa başına şablon sayısı. Varsayılanı50, en fazla100. 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ğiname(isteğe bağlı): Şablon için yeni adsubject(isteğe bağlı): Yeni e-posta konu satırıhtml(isteğe bağlı): Şablonun yeni HTML içeriğitext(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_IDayarlanmadığı sürece gereklidir.test_inbox_id(isteğe bağlı):sandbox_idbelirtilmediğindesandbox_idiç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). BelirtilmezseDEFAULT_FROM_EMAILkullanı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).ccveyabccsağlanırsa isteğe bağlıdır;to/cc/bccalanları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_uuidayarlandığında belirtilmemelidir.text(koşullu): E-posta gövde metni. Satır içi gönderimler için gereklidir (htmlile birlikte veya onun yerine);template_uuidayarlandığında belirtilmemelidir.html(koşullu): E-posta gövdesinin HTML sürümü. Satır içi gönderimler için gereklidir (textile birlikte veya onun yerine);template_uuidayarlandığında belirtilmemelidir.category(isteğe bağlı): İzleme için e-posta kategorisi.template_uuidayarlandığında belirtilmemelidir.template_uuid(isteğe bağlı): Satır içi içerik yerine Mailtrap e-posta şablonu kullanın. Ayarlandığındasubject/text/html/categorybelirtilmemelidir.template_variables(isteğe bağlı):template_uuidtarafından başvurulan şablona yerleştirilecek değişkenler nesnesi. Yalnızcatemplate_uuidile 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_IDayarlanmadığı sürece gereklidir; belirli bir sandbox'ı hedeflemek için her çağrıda iletin.base(isteğe bağlı),requests(gerekli): Yukarıdakibatch-send-transactional-emailbölümüne bakın.
[!NOTE] Çoğu sandbox aracı
sandbox_iddeğerini alır (veya yoksaMAILTRAP_SANDBOX_IDdeğerine geri döner; kullanımdan kaldırılmışMAILTRAP_TEST_INBOX_IDortam değişkeni de çalışmaya devam eder).send-sandbox-email,get-sandbox-messagesveshow-sandbox-email-messageeskitest_inbox_iddeğerini de kabul eder.get-sandbox,update-sandbox,delete-sandboxveclean-sandbox, eskiinbox_idile birliktesandbox_idkullanır (aynı kimlik; ileti araçlarındainbox_idkullanılmaz). Gelen e-posta araçları, sandbox yerine farklı bir ürün (alınan e-posta) içininbox_idkullanı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_IDayarlanmadığı sürece sandbox kimliği.test_inbox_id(isteğe bağlı):sandbox_idiç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_IDayarlandığında sandbox kimliği parametreleri isteğe bağlıdır.sandbox_id,test_inbox_idveya ortam değişkenlerinden hiçbiri sağlanmazsa çağrı başarısız olur. Sayfalama için gerektiğindepage,last_idveyasearchkullanı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_IDayarlanmadığı sürece sandbox kimliği.test_inbox_id(isteğe bağlı):sandbox_idiçin eski takma ad.message_id(gerekli): Alınacak sandbox e-posta iletisinin kimliği
[!NOTE] Önce ileti kimliklerini almak için
get-sandbox-messageskullanı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ğiname(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ğiname(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_IDayarlanmadığı sürece gereklidir.inbox_id(isteğe bağlı):sandbox_idiç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_IDdeğerine geri döner.message_id(gerekli): İletilecek sandbox iletisinin kimliğiemail(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_IDdeğerine geri döner.message_id(gerekli): Güncellenecek sandbox iletisinin kimliğiis_read(gerekli):trueokundu olarak,falseokunmadı olarak işaretler
delete-sandbox-message
Tek bir sandbox iletisini siler.
Parametreler:
sandbox_id(isteğe bağlı): Sandbox kimliği.MAILTRAP_SANDBOX_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğ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_IDdeğerine geri döner.message_id(gerekli): Eki içeren sandbox iletisinin kimliğiattachment_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ı):trueise 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ştirclick_tracking_enabled(isteğe bağlı): Bu alan adından gönderilen e-postalardaki bağlantı tıklamalarını izletracking_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 gerektirirauto_unsubscribe_link_enabled(isteğe bağlı): E-postalara otomatik olarak abonelikten çıkma bağlantısı ekleinbound_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 adresicity(gerekli): Şehircountry(gerekli): Ülkezip_code(gerekli): ZIP veya posta koduwebsite_url(gerekli): Şirket web sitesi URL'siphone(isteğe bağlı): Telefon numarasıprivacy_policy_url(isteğe bağlı): Gizlilik politikası sayfasının URL'siterms_of_service_url(isteğe bağlı): Hizmet şartları sayfasının URL'siinfo_level(isteğe bağlı):businessveyaindividual
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 adresidomain_id(gerekli): Engellemenin geçerli olduğu alan adının kimliğisending_stream(gerekli):transactionalveyabulktype(isteğe bağlı):hard bounce,spam complaint,unsubscriptionveyamanual import. Varsayılan değermanual 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ürstart_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ıttakilast_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 adresidomain_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 URLwebhook_type(gerekli):"email_sending","audit_log"veya"inbound_receiving"active(isteğe bağlı, boolean): varsayılan değertruepayload_format(isteğe bağlı):"json"veya"jsonlines". Varsayılan değer"json"sending_stream(isteğe bağlı, yalnızcaemail_sendingiçin):"transactional"veya"bulk"event_types(isteğe bağlı, yalnızcaemail_sendingiçin):delivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdizisidomain_id(isteğe bağlı, yalnızcaemail_sendingiçin): Bu webhook'un kapsamını belirleyecek alan adı kimliğiinbound_inbox_id(isteğe bağlı, yalnızcainbound_receivingiç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ğiurl(isteğe bağlı): Yeni webhook URL'siactive(isteğe bağlı, boolean): Webhook'u etkinleştirin veya devre dışı bırakınpayload_format(isteğe bağlı):"json"veya"jsonlines"event_types(isteğe bağlı, yalnızcaemail_sendingiçin):delivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdizisiinbound_inbox_id(isteğe bağlı, yalnızcainbound_receivingiç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 adresifields(isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerleri (ör.first_name). Dize, sayı veya boole değerlerilist_ids(isteğe bağlı): Bu kişinin abone olacağı kişi listelerinin kimlikleriunsubscribed(isteğe bağlı, boolean): Kişiyiunsubscribeddurumunda 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 adresiemail(isteğe bağlı): Yeni e-posta adresifields(isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerlerilist_ids(isteğe bağlı): Üyelik kümesini bu tam listeyle değiştirlist_ids_included(isteğe bağlı): Eklenecek liste kimlikleri (eklemeli)list_ids_excluded(isteğe bağlı): Kaldırılacak liste kimlikleriunsubscribed(isteğe bağlı, boolean):unsubscribed(true) veyasubscribed(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 adresiname(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ğiname(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,datedeğ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ğiname(isteğe bağlı): Yeni görünen admerge_tag(isteğe bağlı): Yeni birleştirme etiketi (benzersiz kalmalıdır)data_type(isteğe bağlı):text,number,boolean,datedeğ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 adresifields(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 kimliklerilist_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,emailvb.)operator(required):equal,not_equal,contains,not_contains,is_empty,is_not_emptydeğerlerinden birivalue(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ğer1per_page(optional): Sayfa başına kampanya sayısı. Varsayılan değer50, en fazla100search(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-domainstarafından döndürüldüğü şekildefrom_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 birhrefözniteliğine sahip bağlantı aracılığıyla abonelikten çıkma bağlantısı ekleyinbody_text(optional): E-posta gövdesinin düz metin alternatifimerge_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 adreply_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) veyagradual(delivery_options.emails_per_hourhı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-campaignile 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ğidatetime(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ğistart_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ırend_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ğipermissions(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,billingdeğerlerinden biriaccess_level(optional):admin/100veyaviewer/10destroy(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 adexpires_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çanulldeğerini gönderin. Geçmiş tarihler veya 5 yıldan daha ileri tarihler reddedilirresources(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,billingdeğerlerinden biriresource_id(required): Kaynağın kimliğiaccess_level(required):100(yönetici) veya10(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ğiexpires_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çanulldeğ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ğiname(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ğiinbox_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ğiname(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ğiinbox_id(gerekli): Gelen kutusunun kimliğiname(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ğiinbox_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ğilast_id(isteğe bağlı): Önceki yanıtınlast_iddeğ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ğimessage_id(gerekli): İletinin kimliği
delete-inbound-message
Gelen iletiyi kalıcı olarak silin.
Parametreler:
inbox_id(gerekli): Gelen kutusunun kimliğimessage_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ğimessage_id(gerekli): Yanıtlanacak iletinin kimliğitext/html(en az biri önerilir): Yanıt gövdesifrom(isteğe bağlı): Gönderen. Mailtrap tarafından barındırılan gelen kutularında reddedilir; özel etki alanlı gelen kutularında gereklidircc/bcc/reply_to(isteğe bağlı): Ek adreslercategory(isteğe bağlı): İleti kategorisiattachments(isteğe bağlı):{ content (base64), filename, type?, disposition?, content_id? }dizisiheaders/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ğimessage_id(gerekli): Yanıtlanacak iletinin kimliği- Ayrıca
reply-to-inbound-messageile 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ğimessage_id(gerekli): İletilecek iletinin kimliğito(gerekli): En az bir alıcı (yalın e-posta dizesi veya{ email, name? }, ya da bir dizi)- Ayrıca
reply-to-inbound-messageile 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ğilast_id(isteğe bağlı): Önceki yanıtınlast_iddeğerinden alınan sayfalama imlecisearch(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ğithread_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ğithread_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ğiforward_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ğiname(gerekli): Gelen kutusu içinde benzersiz olan kural adıconditions(isteğe bağlı):{ match_type, operator, value?, header_key? }dizisi.match_type,sender,recipientveyaheaderdeğerlerinden biridir;operator,equal,not_equal,contains,starts_with,ends_with,emptyveyanot_emptydeğerlerinden biridir (empty/not_emptyyalnızcaheaderiçin geçerlidir vevaluealmaz);header_key,headeriçin gereklidir. Her iletiyle eşleşmesi için bu alanı boş bırakın veya[]değerini iletindestinations(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ğiforward_rule_id(gerekli): İletme kuralının kimliğiname(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şirdestinations(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ğiforward_rule_id(gerekli): İletme kuralının kimliği
Geliştirme
- Depoyu klonlayın:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- 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ırmaEXECUTION_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:
- API Token eksik:
MAILTRAP_API_TOKENayarının yapıldığından emin olun - Sandbox çalışmıyor: araç çağrısında
sandbox_idsağlayın (veya ileti gönderme/listeleme/gösterme araçlarında eskitest_inbox_iddeğerini kullanın) ya daMAILTRAP_SANDBOX_IDortam değişkenini ayarlayın - Zaman aşımı hataları: ağ bağlantısını ve Mailtrap API durumunu kontrol edin
- 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.