Mailtrap
resmiMailtrap Email API ile entegre olur.
Mailtrap MCP ile neler yapabilirsiniz?
- İşlemsel e-postalar gönder —
send-emailile 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-templateveyadelete-templatekullanın. - Teslimat günlüklerini incele — Alıcı, durum veya tarih gibi filtrelerle
list-email-logssorgulayın, ardındanget-email-log-messageile ayrıntılara inin. - E-postaları sandbox ortamında test et —
send-sandbox-emailile bir test gelen kutusuna gönderin, ardındanget-sandbox-messagesveshow-sandbox-email-messageile mesajları inceleyin. - Gönderim performansını analiz et —
get-sending-statsile 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ır —
list-sending-domainsyönetin, alan adları oluşturun veya silin ve DNS kurulum talimatlarını alın.
Dokümantasyon
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:
- Mailtrap hesabı oluşturun
- Alan adınızı doğrulayın
- API token'ınızı Mailtrap API ayarları bölümünden alın
- 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 gereklidirMAILTRAP_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ınafromsağlanmadığında varsayılan gönderen e-postası (base.fromalanını doldurur).fromparametresi aracılığıyla çağrı başına gönderen değiştirmeyi sağlar.MAILTRAP_SANDBOX_ID-sandbox_idsağlanmadığında sandbox araçları için varsayılan sandbox kimliği.sandbox_idparametresi aracılığıyla çağrı başına sandbox'lar arasında geçiş yapmayı sağlar.MAILTRAP_TEST_INBOX_ID-test_inbox_idsağlanmadığında sandbox araçları için varsayılan test gelen kutusu kimliği.test_inbox_idparametresi aracılığıyla çağrı başına gelen kutuları arasında geçiş yapmayı sağlar.MAILTRAP_SANDBOX_IDiç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
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ğlanmazsaDEFAULT_FROM_EMAILkullanı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).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ı 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_uuidayarlandığında atlanmalıdır.text(koşullu): E-posta gövde metni. Satır içi gönderimler için (htmlile 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 (textile birlikte veya onun yerine) gereklidir;template_uuidayarlandığında atlanmalıdır.category(isteğe bağlı): Takip 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 bir Mailtrap e-posta şablonu kullanın. Ayarlandığında,subject/text/html/categoryatlanmalıdır (Mailtrap API'sine göre).template_variables(isteğe bağlı):template_uuidtarafından başvurulan şablonda değiştirilen değişkenlerin nesnesi. Yalnızcatemplate_uuidile 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_EMAILdeğ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).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 herhangi bir alan eşleşenbasedeğ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ınnext_page_cursoralanından sayfalama imlecisent_after(isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu saatten sonra gönderilen günlüklersent_before(isteğe bağlı): ISO 8601 tarih/saat; yalnızca bu saatten ö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). Konunun varlığına göre filtrelemek içinsubject_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_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çma 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);*_operatorile kullanın: equal, not_equalrecipient_mx(isteğe bağlı): Alıcı MX'ine 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
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çinlist-email-logskullanın.include_content(isteğe bağlı):trueolduğunda, ham EML'yi getirir (eğerraw_message_urlmevcutsa) 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_providerveyaby_datesending_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ı):transactionalve/veyabulkile 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(veyatextzorunludur): Şablonun HTML içeriğitext(veyahtmlzorunludur): Ş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ğ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ı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_IDayarlanmadı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ğlanmazsaDEFAULT_FROM_EMAILkullanı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).ccveyabccsağ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_uuidayarlandığında atlanmalıdır.text(koşullu): E-posta gövde metni. Satır içi gönderimler için (htmlile birlikte veya onun yerine) zorunludur;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 (textile birlikte veya onun yerine) zorunludur;template_uuidayarlandığında atlanmalıdır.category(isteğe bağlı): İzleme için e-posta kategorisi.template_uuidayarlandığı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ığındasubject/text/html/categoryatlanmalıdır.template_variables(isteğe bağlı):template_uuidtarafından başvurulan şablona ikame edilen değişkenlerin nesnesi. Yalnızcatemplate_uuidile 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_IDayarlanmadıysa zorunludur; belirli bir sandbox'ı hedeflemek için her çağrıda geçin.base(isteğe bağlı),requests(zorunlu): Yukarıdakibatch-send-transactional-emailbölümüne bakın.
[!NOTE] Sandbox araçları için, araç çağrısında
test_inbox_idsağlayın veyaMAILTRAP_TEST_INBOX_IDortam değişkenini ayarlayın.test_inbox_idgeçirerek her çağrıda gelen kutuları arasında geçiş yapabilirsiniz.sandbox_idalan araçlar önceMAILTRAP_SANDBOX_IDkullanı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-messageskullanarak 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ğiname(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ğiemail(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ğiis_read(zorunlu):trueokundu olarak işaretler,falseokunmadı 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_IDdeğerine geri döner.message_id(zorunlu): Eki içeren sandbox mesajının kimliğiattachment_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ğiinclude_setup_instructions(isteğe bağlı):trueise, 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ğiemail(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 URLwebhook_type(zorunlu):"email_sending","audit_log"veya"inbound_receiving"active(isteğe bağlı, boolean): varsayılantruepayload_format(isteğe bağlı):"json"veya"jsonlines". Varsayılan"json"sending_stream(isteğe bağlı, yalnızcaemail_sending):"transactional"veya"bulk"event_types(isteğe bağlı, yalnızcaemail_sending):delivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdizisidomain_id(isteğe bağlı, yalnızcaemail_sending): bu webhook'un kapsamını belirleyecek gönderim alan adı kimliğiinbound_inbox_id(isteğe bağlı, yalnızcainbound_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ğ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_sending):delivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdizisiinbound_inbox_id(isteğe bağlı, yalnızcainbound_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 adresifields(isteğe bağlı): Birleştirme etiketine göre anahtarlanmış özel alan değerleri (ör.first_name). Dize, sayı veya boolean değerlerlist_ids(isteğe bağlı): Bu kişiyi abone yapılacak kişi listelerinin kimlikleriunsubscribed(isteğe bağlı, boolean): Kişiyiunsubscribeddurumunda 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-postaemail(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 liste ile değiştirinlist_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-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-postaname(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ğiname(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,datedeğ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ğ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 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 adresifields(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 kimliklerilist_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_emptydeğerlerinden birivalue(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ğipermissions(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,billingaccess_level(isteğe bağlı):admin/100veyaviewer/10destroy(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 adresources(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,billingresource_id(gerekli): Kaynağın kimliğiaccess_level(gerekli):100(yönetici) veya10(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ğiname(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ğiinbox_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ğiname(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ğiinbox_id(gerekli): Gelen kutusunun kimliğiname(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ğiinbox_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ğilast_id(isteğe bağlı): Önceki yanıtınlast_idalanı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ğimessage_id(gerekli): Mesajın kimliği
delete-inbound-message
Bir gelen mesajını kalıcı olarak siler.
Parametreler:
inbox_id(gerekli): Gelen kutusunun kimliğimessage_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ğimessage_id(gerekli): Yanıt verilecek mesajın kimliğitext/html(en az birinin girilmesi önerilir): Yanıt gövdesifrom(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 gereklidircc/bcc/reply_to(isteğe bağlı): Ek adreslercategory(isteğe bağlı): Mesaj kategorisiattachments(isteğe bağlı):{ content (base64), filename, type?, disposition?, content_id? }dizisiheaders/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ğimessage_id(gerekli): Yanıt verilecek mesajın kimliği- Ayrıca
reply-to-inbound-messageile 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ğimessage_id(gerekli): İletilecek mesajın kimliğito(gerekli): En az bir alıcı (yalın e-posta metni,{ email, name? }veya bir dizi)- Ayrıca
reply-to-inbound-messageile 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ğilast_id(isteğe bağlı): Önceki yanıtınlast_idalanı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ğithread_id(gerekli): Konunun kimliği
delete-inbound-thread
Bir gelen konusunu kalıcı olarak siler.
Parametreler:
inbox_id(gerekli): Gelen kutusunun kimliğithread_id(gerekli): Konunun 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 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ırmaEXECUTION_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:
- API Token eksik:
MAILTRAP_API_TOKENayarlandığından emin olun - Sandbox çalışmıyor: araç çağrısında
test_inbox_idsağlayın veyaMAILTRAP_TEST_INBOX_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 ü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.