Mailtrap
ทางการผสานการทำงานกับ Mailtrap Email API
คุณทำอะไรได้บ้างด้วย Mailtrap MCP?
- ส่งอีเมลธุรกรรม — ขอให้ผู้ช่วยของคุณส่งอีเมลธุรกรรมพร้อมเนื้อหาแบบอินไลน์หรือเทมเพลตผ่าน
send-email - ทดสอบอีเมลในแซนด์บ็อกซ์ — ส่งอีเมลทดสอบไปยังกล่องจดหมายแซนด์บ็อกซ์และตรวจสอบเนื้อหา คะแนนสแปม และการวิเคราะห์ HTML
- ตรวจสอบบันทึกการส่ง — ค้นหาบันทึกอีเมลและตรวจสอบประวัติเหตุการณ์เพื่อแก้ไขปัญหาการส่งด้วย
list-email-logs - จัดการเทมเพลตอีเมล — สร้าง แสดงรายการ อัปเดต หรือลบเทมเพลตโดยใช้คำสั่งภาษาธรรมชาติ
- วิเคราะห์สถิติการส่ง — รับอัตราการส่งสำเร็จ การตีกลับ การเปิด และการคลิกสำหรับช่วงวันที่ใดก็ได้ด้วย
get-sending-stats - จัดการโดเมนผู้ส่ง — แสดงรายการ สร้าง และกำหนดค่าโดเมนผู้ส่งพร้อมการตรวจสอบ DNS และการติดตามการคลิก
เอกสาร
เซิร์ฟเวอร์ MCP อย่างเป็นทางการของ Mailtrap
เซิร์ฟเวอร์ MCP อย่างเป็นทางการสำหรับ Mailtrap — แพลตฟอร์มการส่งอีเมล โดยเชื่อมต่อบัญชี Mailtrap ของคุณกับ Claude, Cursor, VS Code และผู้ช่วย AI อื่นๆ ที่รองรับ MCP
ส่งอีเมลแบบ transactional และ bulk, ทดสอบข้อความอย่างปลอดภัยใน Email Sandbox, จัดการเทมเพลต, ผู้ติดต่อ, โดเมนผู้ส่ง, และ webhooks, ตรวจสอบบันทึกอีเมลและสถิติการส่ง, แก้ไขปัญหาการส่งถึง, และจัดการทรัพยากรบัญชี — ทั้งหมดด้วยคำสั่งภาษาธรรมชาติ
ความสามารถ
- Email API และ SMTP — ส่งอีเมลแบบ transactional และ bulk รวมถึงข้อความแบบ batch และตามเทมเพลต
- การทดสอบอีเมล — ทดสอบข้อความใน Email Sandbox และตรวจสอบเนื้อหา, ส่วนหัว, ไฟล์แนบ, คะแนนสแปม, และความเข้ากันได้กับไคลเอนต์ HTML
- การตรวจสอบการส่ง — ค้นหาบันทึกอีเมล, ตรวจสอบประวัติเหตุการณ์, และวิเคราะห์อัตราการส่ง, การตีกลับ, การเปิด, การคลิก, และสแปม
- โครงสร้างพื้นฐานอีเมล — จัดการโดเมนผู้ส่ง, การตรวจสอบ DNS, webhooks, และการระงับ
- ผู้ติดต่อ — จัดการผู้ติดต่อ, รายการ, ฟิลด์ที่กำหนดเอง, และเหตุการณ์ พร้อมการนำเข้าและส่งออก
- การจัดการบัญชี — ตรวจสอบการใช้งานการเรียกเก็บเงินและจัดการการเข้าถึง, สิทธิ์, โทเค็น API, และบัญชีย่อย
ไคลเอนต์ MCP ที่รองรับ
ทำงานร่วมกับ Claude Desktop, Claude Code, Cursor, VS Code และไคลเอนต์อื่นๆ ที่รองรับ MCP คำแนะนำการติดตั้งสำหรับแต่ละรายการอยู่ด้านล่าง
ข้อกำหนดเบื้องต้น
ก่อนใช้เซิร์ฟเวอร์ MCP นี้ คุณต้อง:
- สร้างบัญชี Mailtrap
- ยืนยันโดเมนของคุณ
- รับโทเค็น API ของคุณจาก การตั้งค่า API ของ Mailtrap
- รับ Account ID ของคุณจาก การจัดการบัญชี Mailtrap
ตัวแปรสภาพแวดล้อมที่จำเป็น:
MAILTRAP_API_TOKEN- จำเป็นสำหรับฟังก์ชันทั้งหมดMAILTRAP_ACCOUNT_ID- จำเป็นสำหรับเทมเพลต, สถิติ, บันทึกอีเมล, การแสดงรายการ/ดู sandbox, โดเมนผู้ส่ง, และการระงับ เป็นตัวเลือกเฉพาะสำหรับเครื่องมือส่ง (send-email, send-sandbox-email และเครื่องมือ batch-send-*) เครื่องมือแคมเปญอีเมล เครื่องมือข้อมูลบริษัท และเครื่องมือยกเลิกการติดตาม
ตัวเลือก (สามารถส่งเป็นพารามิเตอร์เครื่องมือแทนได้):
DEFAULT_FROM_EMAIL- อีเมลผู้ส่งเริ่มต้นเมื่อไม่มีการระบุfromให้กับ send-email, send-sandbox-email หรือเครื่องมือ batch-send-* (ซึ่งจะเติมbase.from) เปิดใช้งานการสลับผู้ส่งต่อการเรียกผ่านพารามิเตอร์fromMAILTRAP_SANDBOX_ID- รหัส sandbox เริ่มต้นสำหรับเครื่องมือ sandbox เมื่อไม่มีการระบุsandbox_idเปิดใช้งานการสลับระหว่าง sandbox ต่อการเรียกผ่านพารามิเตอร์sandbox_idMAILTRAP_TEST_INBOX_ID- รหัสกล่องจดหมายทดสอบเริ่มต้นสำหรับเครื่องมือ sandbox เมื่อไม่มีการระบุtest_inbox_idเปิดใช้งานการสลับระหว่างกล่องจดหมายต่อการเรียกผ่านพารามิเตอร์test_inbox_idชื่อเดิมสำหรับMAILTRAP_SANDBOX_IDยังคงรองรับเป็นตัวสำรองMAILTRAP_ORGANIZATION_ID- จำเป็นสำหรับเครื่องมือองค์กร (list-sub-accounts,create-sub-account)MAILTRAP_ORGANIZATION_API_TOKEN- โทเค็น API ระดับองค์กร จำเป็นสำหรับเครื่องมือองค์กร (แยกจากMAILTRAP_API_TOKEN)
การติดตั้งด่วน
Smithery CLI
Smithery เป็นตัวติดตั้งและตัวจัดการรีจิสทรีสำหรับเซิร์ฟเวอร์ MCP ที่ทำงานกับไคลเอนต์ AI ทั้งหมด
npx @smithery/cli install mailtrap
Smithery จัดการการกำหนดค่าไคลเอนต์โดยอัตโนมัติและมีขั้นตอนการติดตั้งแบบโต้ตอบ เป็นวิธีที่ง่ายที่สุดในการเริ่มต้นกับเซิร์ฟเวอร์ MCP ในเครื่อง
การติดตั้ง
Claude Desktop
ใช้ MCPB เพื่อติดตั้งเซิร์ฟเวอร์ Mailtrap คุณสามารถหาไฟล์เหล่านั้นได้ใน Releases
ดาวน์โหลดไฟล์ .MCPB และเปิด หากคุณมี Claude Desktop - มันจะเปิดและแนะนำให้กำหนดค่า
Claude Desktop หรือ Cursor
เพิ่มการกำหนดค่าต่อไปนี้:
{
"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"
}
}
}
}
หากคุณใช้ asdf สำหรับจัดการ Node.js คุณต้องใช้พาธแบบสัมบูรณ์ไปยังไฟล์ปฏิบัติการ (ตัวอย่างสำหรับ Mac)
{
"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
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
ตำแหน่งไฟล์กำหนดค่า Cursor
Mac: ~/.cursor/mcp.json
Windows: %USERPROFILE%\.cursor\mcp.json
VS Code
การเปลี่ยนกำหนดค่าด้วยตนเอง
รันใน Command Palette: Preferences: Open User Settings (JSON)
จากนั้น ในไฟล์การตั้งค่า ให้เพิ่มการกำหนดค่าต่อไปนี้:
{
"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] อย่าลืมรีสตาร์ทเซิร์ฟเวอร์ MCP ของคุณหลังจากเปลี่ยนส่วน "env"
MCP Bundle (MCPB)
สำหรับการติดตั้งที่ง่ายในโฮสต์ที่รองรับ MCP Bundles คุณสามารถแจกจ่ายไฟล์บันเดิล .mcpb
# 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
สิ่งนี้สร้าง mailtrap-mcp.mcpb โดยใช้รีโพซิทอรี manifest.json และอาร์ติแฟกต์ที่สร้างใน dist/
การใช้งาน
เมื่อกำหนดค่าแล้ว คุณสามารถขอให้เอเจนต์ส่งอีเมลและจัดการเทมเพลตได้ เช่น:
การดำเนินการส่งอีเมล:
- "ส่งอีเมลถึง john.doe@example.com ด้วยหัวข้อ 'Meeting Tomorrow' และการแจ้งเตือนที่เป็นมิตรเกี่ยวกับการประชุมที่กำลังจะมาถึง"
- "ส่งอีเมลถึง sarah@example.com เกี่ยวกับอัปเดตโปรเจกต์ และ CC ทีมที่ team@example.com"
- "ส่งเทมเพลตต้อนรับ (uuid
b81aabcd-1a1e-41cf-91b6-eca0254b3d96) ถึง new@example.com พร้อมตัวแปร{ name: 'Alex' }" - "ส่งอีเมล sandbox ถึง test@example.com ด้วยหัวข้อ 'Test Template' เพื่อดูตัวอย่างว่าอีเมลต้อนรับของเรามีลักษณะอย่างไร"
บันทึกอีเมล (ดีบักการส่ง):
- "แสดงบันทึกอีเมลที่ส่งล่าสุดของฉัน"
- "แสดงบันทึกอีเมลสำหรับอีเมลที่ส่งถึง user@example.com"
- "รับข้อความบันทึกอีเมลสำหรับ ID abc-123-uuid เพื่อตรวจสอบสถานะการส่ง"
สถิติการส่ง:
- "รับสถิติการส่งสำหรับมกราคม 2025"
- "แสดงอัตราการส่งถึงแยกตามโดเมนสำหรับเดือนที่แล้ว"
- "สถิติอีเมลของฉันตามหมวดหมู่จาก 2025-01-01 ถึง 2025-01-31 คืออะไร?"
การดำเนินการ Sandbox:
- "รับข้อความทั้งหมดจากกล่องจดหมาย sandbox ของฉัน"
- "แสดงหน้าแรกของข้อความ sandbox"
- "ค้นหาข้อความที่มี 'test' ในกล่องจดหมาย sandbox ของฉัน"
- "แสดงรายละเอียดของข้อความ sandbox ด้วย ID 5159037506"
การดำเนินการเทมเพลต:
- "แสดงเทมเพลตอีเมลทั้งหมดในบัญชี Mailtrap ของฉัน"
- "สร้างเทมเพลตอีเมลใหม่ชื่อ 'Welcome Email' ด้วยหัวข้อ 'Welcome to our platform!'"
- "อัปเดตเทมเพลตด้วย ID 12345 เพื่อเปลี่ยนหัวข้อเป็น 'Updated Welcome Message'"
- "ลบเทมเพลตด้วย ID 67890"
โดเมนผู้ส่ง:
- "แสดงโดเมนผู้ส่งของฉัน"
- "รับโดเมนผู้ส่งด้วย ID 3938"
- "สร้างโดเมนผู้ส่งสำหรับ example.com"
- "เปิดการติดตามคลิกสำหรับโดเมนผู้ส่ง 3938"
- "ลบโดเมนผู้ส่ง 3938"
- "รับโดเมนผู้ส่ง 3938 พร้อมคำแนะนำการตั้งค่า DNS"
- "แสดงข้อมูลบริษัทสำหรับโดเมนผู้ส่ง 3938"
- "ตั้งค่าข้อมูลบริษัทสำหรับโดเมน 3938 เป็น Acme Inc, 123 Main St, San Francisco, US, 94105, https://acme.com"
- "เปลี่ยนเมืองข้อมูลบริษัทสำหรับโดเมน 3938 เป็น New York"
การระงับ:
- "แสดงการระงับสำหรับ bounced@example.com"
- "ระงับ bounced@example.com ในสตรีม transactional ของโดเมน 3938"
- "แสดงที่อยู่อีเมลที่ถูกระงับทั้งหมด"
- "ทำไม user@example.com ถึงไม่ได้รับอีเมลของฉัน?"
- "ลบ user@example.com ออกจากรายการระงับ"
การยกเลิกการติดตาม:
- "หยุดติดตามการเปิดและคลิกสำหรับ privacy@example.com บนโดเมน 3938"
- "แสดงทุกคนที่เลือกไม่ติดตาม"
ผู้ติดต่อและรายการ:
- "เพิ่ม john.doe@example.com ในรายการผู้ติดต่อจดหมายข่าวของฉัน"
- "แสดงรายการผู้ติดต่อทั้งหมดของฉัน"
- "สร้างฟิลด์ผู้ติดต่อชื่อ 'signup_source' สำหรับติดตามว่าผู้ติดต่อมาจากไหน"
- "อัปเดตผู้ติดต่อ john.doe@example.com เพื่อตั้งค่าแผนเป็น 'pro'"
- "นำเข้าผู้ติดต่อจาก CSV นี้เข้ารายการ onboarding ของฉัน"
- "ส่งออกผู้ติดต่อทั้งหมดจากรายการจดหมายข่าวของฉัน"
- "บันทึกเหตุการณ์ 'trial_started' สำหรับผู้ติดต่อ john.doe@example.com"
Webhooks:
- "แสดง webhooks ทั้งหมดที่กำหนดค่าในบัญชีของฉัน"
- "สร้าง webhook ชี้ไปที่ https://example.com/hooks/mailtrap สำหรับเหตุการณ์ตีกลับและสแปม"
- "อัปเดต webhook 4821 เพื่อส่งเหตุการณ์การส่งด้วย"
- "ลบ webhook 4821"
บัญชีและการเรียกเก็บเงิน:
- "การใช้งานการเรียกเก็บเงินปัจจุบันของฉันในเดือนนี้คือเท่าไร?"
- "ฉันเหลืออีเมลในแผนกี่ฉบับ?"
- "แสดงทุกคนที่เข้าถึงบัญชี Mailtrap นี้"
- "แสดงทรัพยากรสิทธิ์ที่มีในบัญชีของฉัน"
โทเค็น API:
- "แสดงโทเค็น API ทั้งหมดในบัญชีของฉัน"
- "สร้างโทเค็น API ใหม่สำหรับสภาพแวดล้อม staging"
- "รีเซ็ตโทเค็น API ด้วย ID 1234"
- "ลบโทเค็น API ที่ไม่ได้ใช้ 1234"
องค์กรและบัญชีย่อย:
- "แสดงบัญชีย่อยทั้งหมดในองค์กรของฉัน"
- "สร้างบัญชีย่อยใหม่สำหรับโปรเจกต์ลูกค้า 'Acme Corp'"
เครื่องมือที่มี
send-email
ส่งอีเมล transactional ผ่าน Mailtrap รองรับสองโหมดที่แยกจากกัน — เนื้อหาแบบ inline (subject + text/html) หรือ ตามเทมเพลต (template_uuid)
พารามิเตอร์:
from(ตัวเลือก): ผู้ส่งเป็น{ email, name? }(สตริงอีเมลเปล่าก็ยอมรับที่รันไทม์) หากไม่ระบุ จะใช้DEFAULT_FROM_EMAILto(ตัวเลือก): อาร์เรย์ของผู้รับเป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่า หรือที่อยู่เดียวที่ไม่ใช่อาร์เรย์ ก็ยอมรับที่รันไทม์) เป็นตัวเลือกหากระบุccหรือbcc; อย่างน้อยหนึ่งในto/cc/bccต้องมีผู้รับcc(ตัวเลือก): อาร์เรย์ของผู้รับ CC เป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่าก็ยอมรับที่รันไทม์)bcc(ตัวเลือก): อาร์เรย์ของผู้รับ BCC เป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่าก็ยอมรับที่รันไทม์)subject(ตามเงื่อนไข): หัวข้ออีเมล จำเป็นสำหรับการส่งแบบ inline; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtext(ตามเงื่อนไข): เนื้อหาอีเมลแบบข้อความ จำเป็น (ควบคู่หรือแทนhtml) สำหรับการส่งแบบ inline; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidhtml(ตามเงื่อนไข): เวอร์ชัน HTML ของเนื้อหาอีเมล จำเป็น (ควบคู่หรือแทนtext) สำหรับการส่งแบบ inline; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidcategory(ตัวเลือก): หมวดหมู่อีเมลสำหรับการติดตามและวิเคราะห์ ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtemplate_uuid(ตัวเลือก): ใช้เทมเพลตอีเมล Mailtrap แทนเนื้อหาแบบ inline เมื่อตั้งค่า ต้องละเว้นsubject/text/html/category(ตาม API ของ Mailtrap)template_variables(ตัวเลือก): ออบเจกต์ของตัวแปรที่แทนที่ลงในเทมเพลตที่อ้างอิงโดยtemplate_uuidอนุญาตเฉพาะร่วมกับtemplate_uuid
batch-send-transactional-email
ส่งชุดอีเมล transactional ในการเรียก API ของ Mailtrap ครั้งเดียว (สตรีมการส่งเริ่มต้น) ฟิลด์ที่ใช้ร่วมกันอยู่ใน base; การแทนที่ต่อผู้รับอยู่ใน requests[] แต่ละคำขอต้องมีผู้รับอย่างน้อยหนึ่งคนผ่าน to, cc หรือ bcc การแยก inline-กับ-เทมเพลตเหมือนกับ send-email — ตรวจสอบหลังจากการรวม base กับแต่ละคำขอ
พารามิเตอร์:
base(ไม่บังคับ): ออบเจกต์ที่มีฟิลด์ที่ใช้ร่วมกันทั่วทั้งชุดfrom(ไม่บังคับ): ผู้ส่งเป็น{ email, name? }(สตริงอีเมลเปล่าๆ ก็ยอมรับได้ในขณะรันไทม์) จะใช้DEFAULT_FROM_EMAILเป็นค่าเริ่มต้นหากไม่ระบุreply_to(ไม่บังคับ): ที่อยู่สำหรับตอบกลับsubject/text/html/category(ไม่บังคับ, โหมดอินไลน์): เนื้อหาเริ่มต้นสำหรับทุกคำขอtemplate_uuid/template_variables(ไม่บังคับ, โหมดเทมเพลต): เทมเพลตเริ่มต้น + ตัวแปร ไม่สามารถใช้ร่วมกับฟิลด์อินไลน์ได้custom_variables(ไม่บังคับ): ตัวแปรกำหนดเองเริ่มต้น (ค่าที่เป็นสตริง)headers(ไม่บังคับ): ส่วนหัวกำหนดเองเริ่มต้น
requests(จำเป็น): อาร์เรย์ที่ไม่ว่างของข้อความต่อผู้รับ แต่ละรายการมี:to(ไม่บังคับ): อาร์เรย์ของผู้รับเป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่าๆ หรือที่อยู่เดียวที่ไม่ใช่อาร์เรย์ ก็ยอมรับได้ในขณะรันไทม์) ไม่บังคับหากระบุccหรือbcc; อย่างน้อยหนึ่งในto/cc/bccต้องมีผู้รับcc,bcc,reply_to(ไม่บังคับ)- การแทนที่แบบอินไลน์ (
subject/text/html/category) หรือแบบเทมเพลต (template_uuid/template_variables); ฟิลด์ใดที่ละไว้จะใช้ค่าbaseที่ตรงกันเป็นค่าเริ่มต้น custom_variables,headers(ไม่บังคับ)
batch-send-bulk-email
ส่งอีเมลจำนวนมากผ่าน API bulk-stream ของ Mailtrap มีรูปแบบ base + requests[], การตรวจสอบ และกฎอินไลน์-เทียบกับ-เทมเพลตเหมือนกับ batch-send-transactional-email — ข้อแตกต่างเพียงอย่างเดียวคือเครื่องมือนี้จะส่งคำขอผ่าน endpoint แบบ bulk แทนที่จะเป็นแบบ transactional ดูพารามิเตอร์ด้านบน
list-email-logs
แสดงรายการบันทึกอีเมลที่ส่ง (ประวัติการจัดส่ง) พร้อมการแบ่งหน้าและตัวกรองแบบไม่บังคับ ใช้เพื่อดีบักปัญหาการจัดส่งจาก IDE
พารามิเตอร์:
search_after(ไม่บังคับ): เคอร์เซอร์แบ่งหน้าจากnext_page_cursorของการตอบกลับก่อนหน้าsent_after(ไม่บังคับ): วันที่/เวลา ISO 8601; เฉพาะบันทึกที่ส่งหลังเวลานี้sent_before(ไม่บังคับ): วันที่/เวลา ISO 8601; เฉพาะบันทึกที่ส่งก่อนเวลานี้from_email(ไม่บังคับ): กรองโดยอีเมลผู้ส่ง; ใช้กับfrom_operator(ค่าเริ่มต้น: ci_equal)to_email(ไม่บังคับ): กรองโดยอีเมลผู้รับ; ใช้กับto_operator(ค่าเริ่มต้น: ci_equal)status(ไม่บังคับ): กรองโดยสถานะการจัดส่ง: delivered, not_delivered, enqueued, opted_out; ใช้กับstatus_operator(ค่าเริ่มต้น: equal)subject(ไม่บังคับ): กรองโดยหัวข้ออีเมล; ใช้กับsubject_operator(ค่าเริ่มต้น: ci_contain) ใช้subject_operator: empty/not_empty เพื่อกรองโดยการมีหัวข้อsending_domain_id(ไม่บังคับ): กรองโดย ID โดเมนผู้ส่ง (ตัวเลข); ใช้กับsending_domain_id_operator(ค่าเริ่มต้น: equal)sending_stream(ไม่บังคับ): กรองโดยสตรีม: transactional หรือ bulk; ใช้กับsending_stream_operator(ค่าเริ่มต้น: equal)events(ไม่บังคับ): กรองโดยประเภทเหตุการณ์: delivery, open, click, bounce, spam, unsubscribe, soft_bounce, reject, suspension; ใช้กับevents_operator(include_event / not_include_event)clicks_count/opens_count(ไม่บังคับ): กรองโดยจำนวนคลิก/เปิด; ใช้กับ*_operator: equal, greater_than, less_thanclient_ip/sending_ip(ไม่บังคับ): กรองโดย IP; ใช้กับ*_operator: equal, not_equal, contain, not_containemail_service_provider_response(ไม่บังคับ): กรองโดยข้อความตอบกลับของผู้ให้บริการ; ใช้กับ*_operator(ci_contain, ฯลฯ)email_service_provider(ไม่บังคับ): กรองโดยผู้ให้บริการ (แบบตรงทั้งหมด); ใช้กับ*_operator: equal, not_equalrecipient_mx(ไม่บังคับ): กรองโดย MX ของผู้รับ; ใช้กับrecipient_mx_operator(ci_contain, ฯลฯ)category(ไม่บังคับ): กรองโดยหมวดหมู่อีเมล; ใช้กับcategory_operator: equal, not_equal
พารามิเตอร์ทั้งหมดไม่บังคับ
get-email-log-message
ดึงข้อความบันทึกอีเมลหนึ่งรายการโดย ID (UUID): สรุปที่อ่านได้ (จาก, ถึง, หัวข้อ, เวลาที่ส่ง, สถานะ, หมวดหมู่, สตรีม, การมีส่วนร่วม, บริบทการจัดส่ง) จากนั้นประวัติเหตุการณ์โดยละเอียด ไม่บังคับ ด้วย include_content: true คุณยังสามารถโหลดและแสดงเนื้อหาของข้อความ (HTML และข้อความธรรมดา) เมื่อ Mailtrap เปิดเผย URL ข้อความดิบ
พารามิเตอร์:
message_id(จำเป็น): UUID ของข้อความบันทึกอีเมล (จากการตอบสนองการส่งหรือ list-email-logs) ใช้list-email-logsเพื่อค้นหา ID ข้อความinclude_content(ไม่บังคับ): เมื่อtrue, ดึง EML ดิบ (ถ้าraw_message_urlมีอยู่) และผนวกส่วนเนื้อหา HTML และข้อความธรรมดาที่แยกวิเคราะห์แล้ว คล้ายกับ show-sandbox-email-message
get-sending-stats
รับสถิติการส่งอีเมล (อัตราการจัดส่ง, ตีกลับ, เปิด, คลิก, สแปม) สำหรับช่วงวันที่ ไม่บังคับให้แยกย่อยตามโดเมน, หมวดหมู่, ผู้ให้บริการอีเมล หรือวันที่ ตรวจสอบอัตราการจัดส่งโดยไม่ต้องออกจากตัวแก้ไข
พารามิเตอร์:
start_date(จำเป็น): วันที่เริ่มต้นสำหรับช่วงสถิติ (YYYY-MM-DD)end_date(จำเป็น): วันที่สิ้นสุดสำหรับช่วงสถิติ (YYYY-MM-DD)breakdown(ไม่บังคับ): วิธีแยกย่อยสถิติ:aggregated(ค่าเริ่มต้น),by_domain,by_category,by_email_service_provider, หรือby_datesending_domain_ids(ไม่บังคับ): จำกัดผลลัพธ์เฉพาะ ID โดเมนผู้ส่งเหล่านี้ (อาร์เรย์ของจำนวนเต็ม)sending_streams(ไม่บังคับ): จำกัดเฉพาะtransactionalและ/หรือbulk(อาร์เรย์ของสตริง)categories(ไม่บังคับ): จำกัดเฉพาะหมวดหมู่อีเมลเหล่านี้ (อาร์เรย์ของสตริง)email_service_providers(ไม่บังคับ): จำกัดเฉพาะผู้ให้บริการเหล่านี้ เช่น Google, Yahoo, Outlook (อาร์เรย์ของสตริง)
create-template
สร้างเทมเพลตอีเมลใหม่ในบัญชี Mailtrap ของคุณ
พารามิเตอร์:
name(จำเป็น): ชื่อของเทมเพลตsubject(จำเป็น): บรรทัดหัวข้ออีเมลhtml(หรือtextจำเป็น): เนื้อหา HTML ของเทมเพลตtext(หรือhtmlจำเป็น): เวอร์ชันข้อความธรรมดาของเทมเพลตcategory(ไม่บังคับ): หมวดหมู่เทมเพลต (ค่าเริ่มต้นเป็น "General")
list-templates
แสดงรายการเทมเพลตอีเมลทั้งหมดในบัญชี Mailtrap ของคุณ
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-template
ดึงเทมเพลตอีเมลหนึ่งรายการโดย ID รวมถึงหัวข้อ, หมวดหมู่ และเนื้อหา HTML/ข้อความ
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่จะดึง
update-template
อัปเดตเทมเพลตอีเมลที่มีอยู่
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่จะอัปเดตname(ไม่บังคับ): ชื่อใหม่สำหรับเทมเพลตsubject(ไม่บังคับ): บรรทัดหัวข้ออีเมลใหม่html(ไม่บังคับ): เนื้อหา HTML ใหม่ของเทมเพลตtext(ไม่บังคับ): เวอร์ชันข้อความธรรมดาใหม่ของเทมเพลตcategory(ไม่บังคับ): หมวดหมู่ใหม่สำหรับเทมเพลต
[!NOTE] ต้องระบุฟิลด์ที่อัปเดตได้อย่างน้อยหนึ่งฟิลด์ (ชื่อ, หัวข้อ, html, ข้อความ หรือหมวดหมู่) เมื่อเรียก update-template เพื่อทำการอัปเดต
delete-template
ลบเทมเพลตอีเมลที่มีอยู่
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่จะลบ
send-sandbox-email
ส่งอีเมลไปยังกล่องจดหมายทดสอบ Mailtrap ของคุณเพื่อวัตถุประสงค์ในการพัฒนาและทดสอบ เหมาะสำหรับการทดสอบเทมเพลตอีเมลโดยไม่ต้องส่งอีเมลถึงผู้รับจริง รองรับสองโหมดเหมือนกับ send-email — เนื้อหาอินไลน์ หรือ ตามเทมเพลต (template_uuid)
พารามิเตอร์:
test_inbox_id(ไม่บังคับ): ID กล่องจดหมายทดสอบ Mailtrap จำเป็นเว้นแต่ตั้งค่าMAILTRAP_TEST_INBOX_ID; ส่งต่อการเรียกเพื่อกำหนดเป้าหมายกล่องจดหมายเฉพาะfrom(ไม่บังคับ): ผู้ส่งเป็น{ email, name? }(สตริงอีเมลเปล่าๆ ก็ยอมรับได้ในขณะรันไทม์) หากไม่ระบุ จะใช้DEFAULT_FROM_EMAILto(ไม่บังคับ): อาร์เรย์ของผู้รับเป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่าๆ ในอาร์เรย์ หรือสตริงอีเมลธรรมดาที่คั่นด้วยเครื่องหมายจุลภาค ก็ยอมรับได้ในขณะรันไทม์) ไม่บังคับหากระบุccหรือbcc; อย่างน้อยหนึ่งในto/cc/bccต้องมีผู้รับcc(ไม่บังคับ): อาร์เรย์ของผู้รับ CC เป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่าๆ ก็ยอมรับได้ในขณะรันไทม์)bcc(ไม่บังคับ): อาร์เรย์ของผู้รับ BCC เป็นออบเจกต์{ email, name? }(สตริงอีเมลเปล่าๆ ก็ยอมรับได้ในขณะรันไทม์)subject(มีเงื่อนไข): บรรทัดหัวข้ออีเมล จำเป็นสำหรับการส่งแบบอินไลน์; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtext(มีเงื่อนไข): ข้อความเนื้อหาอีเมล จำเป็น (ควบคู่หรือแทนhtml) สำหรับการส่งแบบอินไลน์; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidhtml(มีเงื่อนไข): เวอร์ชัน HTML ของเนื้อหาอีเมล จำเป็น (ควบคู่หรือแทนtext) สำหรับการส่งแบบอินไลน์; ต้องละเว้นเมื่อตั้งค่าtemplate_uuidcategory(ไม่บังคับ): หมวดหมู่อีเมลสำหรับการติดตาม ต้องละเว้นเมื่อตั้งค่าtemplate_uuidtemplate_uuid(ไม่บังคับ): ใช้เทมเพลตอีเมล Mailtrap แทนเนื้อหาอินไลน์ เมื่อตั้งค่า ต้องละเว้นsubject/text/html/categorytemplate_variables(ไม่บังคับ): ออบเจกต์ของตัวแปรที่แทนที่ลงในเทมเพลตที่อ้างอิงโดยtemplate_uuidอนุญาตเฉพาะร่วมกับtemplate_uuid
batch-send-sandbox-email
ส่งอีเมลชุดหนึ่งไปยังกล่องจดหมายทดสอบ Mailtrap ของคุณในการเรียก API ครั้งเดียว โดยไม่ส่งถึงผู้รับจริง มีรูปแบบ base + requests[], การตรวจสอบ และกฎอินไลน์-เทียบกับ-เทมเพลตเหมือนกับ batch-send-transactional-email — ข้อแตกต่างคือเครื่องมือนี้จะส่งคำขอผ่าน endpoint แบบ sandbox สำหรับกล่องจดหมายทดสอบเดียว
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID sandbox (กล่องจดหมายทดสอบ) ของ Mailtrap จำเป็นเว้นแต่ตั้งค่าMAILTRAP_SANDBOX_ID; ส่งต่อการเรียกเพื่อกำหนดเป้าหมาย sandbox เฉพาะbase(ไม่บังคับ),requests(จำเป็น): ดูbatch-send-transactional-emailด้านบน
[!NOTE] สำหรับเครื่องมือ sandbox ให้ระบุ
test_inbox_idในการเรียกเครื่องมือหรือตั้งค่าตัวแปรสภาพแวดล้อมMAILTRAP_TEST_INBOX_IDคุณสามารถสลับระหว่างกล่องจดหมายต่อการเรียกได้โดยส่งtest_inbox_idเครื่องมือที่รับsandbox_idจะใช้MAILTRAP_SANDBOX_IDก่อน
get-sandbox-messages
ดึงรายการข้อความจากกล่องจดหมายทดสอบ Mailtrap ของคุณ มีประโยชน์สำหรับการตรวจสอบว่ามีอีเมลใดบ้างที่ได้รับใน sandbox ของคุณระหว่างการทดสอบ
พารามิเตอร์:
page(ไม่บังคับ): หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ: 1)last_id(ไม่บังคับ): การแบ่งหน้าโดยใช้ ID ข้อความล่าสุด ส่งคืนข้อความหลังจาก ID ข้อความที่ระบุ (ขั้นต่ำ: 1)search(ไม่บังคับ): คำค้นหาเพื่อกรองข้อความ
[!NOTE] พารามิเตอร์ทั้งหมดไม่บังคับ หากไม่ระบุใดๆ จะส่งคืนหน้าข้อความแรกจากกล่องจดหมาย ใช้ page สำหรับการแบ่งหน้าแบบดั้งเดิม, last_id สำหรับการแบ่งหน้าแบบเคอร์เซอร์ หรือ search เพื่อกรองข้อความตามเนื้อหา
show-sandbox-email-message
แสดงข้อมูลโดยละเอียดและเนื้อหาของข้อความอีเมลเฉพาะจากกล่องจดหมายทดสอบ Mailtrap ของคุณ รวมถึงเนื้อหา HTML และข้อความ
พารามิเตอร์:
message_id(จำเป็น): ID ของข้อความอีเมล sandbox ที่จะดึง
[!NOTE] ใช้
get-sandbox-messagesก่อนเพื่อรับรายการข้อความและ ID ของพวกเขา จากนั้นใช้เครื่องมือนี้เพื่อดูเนื้อหาเต็มของข้อความเฉพาะ
get-sandbox-project
ดึงโปรเจกต์ sandbox โดย ID รวมถึงกล่องจดหมายและจำนวนอีเมล
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจกต์ที่จะดึง
update-sandbox-project
เปลี่ยนชื่อโปรเจกต์ sandbox ที่มีอยู่
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจกต์ที่จะอัปเดตname(จำเป็น): ชื่อใหม่สำหรับโปรเจกต์ (2–100 ตัวอักษร)
list-sandboxes
แสดงรายการ sandbox ทั้งหมดที่โทเค็น API เข้าถึงได้ในทุกโปรเจกต์
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
mark-sandbox-as-read
ทำเครื่องหมายข้อความทั้งหมดใน sandbox ว่าอ่านแล้ว
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของ sandbox ที่จะดำเนินการ
reset-sandbox-credentials
รีเซ็ตข้อมูลรับรอง SMTP สำหรับแซนด์บ็อกซ์ คืนค่าชื่อผู้ใช้/รหัสผ่านใหม่
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ที่จะดำเนินการ
enable-sandbox-email-address
เปิดใช้งานที่อยู่อีเมลสำหรับรับข้อความของแซนด์บ็อกซ์ (เปิดใช้งานที่อยู่ Mailtrap ที่ส่งข้อความไปยังแซนด์บ็อกซ์ผ่าน SMTP)
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ที่จะดำเนินการ
reset-sandbox-email-address
สร้างที่อยู่อีเมลสำหรับรับข้อความใหม่สำหรับแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ที่จะดำเนินการ
forward-sandbox-message
ส่งต่อข้อความแซนด์บ็อกซ์ไปยังที่อยู่อีเมลภายนอก นับรวมในโควต้าการส่งต่อรายเดือนของคุณ
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์ที่จะส่งต่อemail(จำเป็น): ที่อยู่อีเมลที่จะส่งต่อข้อความไป
update-sandbox-message
ทำเครื่องหมายข้อความแซนด์บ็อกซ์ว่าอ่านแล้วหรือยังไม่ได้อ่าน
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์ที่จะอัปเดตis_read(จำเป็น):trueทำเครื่องหมายว่าอ่านแล้วfalseทำเครื่องหมายว่ายังไม่ได้อ่าน
delete-sandbox-message
ลบข้อความแซนด์บ็อกซ์หนึ่งข้อความ
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์ที่จะลบ
get-sandbox-message-spam-score
รับรายงานสแปม SpamAssassin สำหรับข้อความแซนด์บ็อกซ์ (คะแนน กฎ รายงานฉบับเต็ม) ทางเลือกแบบสแตนด์อโลนสำหรับ include_spam_report: true บน show-sandbox-email-message
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-html-analysis
รับรายงานการวิเคราะห์ HTML สำหรับข้อความแซนด์บ็อกซ์ (คะแนนความเข้ากันได้ของไคลเอนต์ องค์ประกอบที่มีปัญหา) ทางเลือกแบบสแตนด์อโลนสำหรับ include_html_analysis: true บน show-sandbox-email-message
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-headers
รับส่วนหัวอีเมลที่แยกวิเคราะห์แล้วสำหรับข้อความแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-html
รับเนื้อหา HTML ที่เรนเดอร์แล้วของข้อความแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-text
รับเนื้อหาข้อความธรรมดาของข้อความแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-raw
รับข้อความดิบในรูปแบบ MIME (ส่วนหัว + เนื้อหา) สำหรับข้อความแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-eml
รับข้อความที่เรนเดอร์เป็นเพย์โหลดไฟล์ EML (เหมาะสำหรับแนบกับตั๋วหรือนำเข้าไปยังไคลเอนต์อีเมลอื่น)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-message-html-source
รับซอร์ส HTML ที่ไม่ได้เรนเดอร์ของข้อความแซนด์บ็อกซ์ (HTML ก่อนการแปลงฝั่ง Mailtrap เช่นการเขียนลิงก์ CID ใหม่)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
list-sandbox-attachments
แสดงรายการไฟล์แนบทั้งหมดในข้อความแซนด์บ็อกซ์ (ชื่อไฟล์ ประเภทเนื้อหา ขนาด เส้นทางดาวน์โหลด)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์
get-sandbox-attachment
รับข้อมูลเมตาและ URL สำหรับดาวน์โหลดไฟล์แนบหนึ่งไฟล์
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID แซนด์บ็อกซ์ สำรองไปที่MAILTRAP_SANDBOX_IDmessage_id(จำเป็น): ID ของข้อความแซนด์บ็อกซ์ที่มีไฟล์แนบattachment_id(จำเป็น): ID ของไฟล์แนบที่จะดึงข้อมูล
list-sending-domains
แสดงรายการโดเมนผู้ส่งและสถานะการตรวจสอบ DNS
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-sending-domain
รับโดเมนผู้ส่งตาม ID และสถานะการตรวจสอบ (รวมถึงระเบียน DNS) สามารถรวมคำแนะนำการตั้งค่า DNS ได้โดยตั้งค่า include_setup_instructions เป็น true
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่งinclude_setup_instructions(ไม่บังคับ): หากเป็นtrueให้เพิ่มคำแนะนำการตั้งค่า DNS ในคำตอบ ค่าเริ่มต้น:false
create-sending-domain
สร้างโดเมนผู้ส่งใหม่ หลังการสร้าง ให้เพิ่มระเบียน DNS เพื่อตรวจสอบโดเมน (ใช้ get-sending-domain พร้อม include_setup_instructions: true เพื่อดูระเบียน)
พารามิเตอร์:
domain_name(จำเป็น): ชื่อโดเมน (เช่น example.com)
update-sending-domain
อัปเดตการตั้งค่าการติดตามและการรับข้อความขาเข้าของโดเมนผู้ส่ง
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่งopen_tracking_enabled(ไม่บังคับ): ติดตามการเปิดอีเมลที่ส่งจากโดเมนนี้click_tracking_enabled(ไม่บังคับ): ติดตามการคลิกลิงก์ในอีเมลที่ส่งจากโดเมนนี้tracking_opt_out_enabled(ไม่บังคับ): เพิ่มลิงก์เลือกไม่รับการติดตามในอีเมลที่ถูกติดตาม ต้องเปิดการติดตามการเปิดหรือการคลิกauto_unsubscribe_link_enabled(ไม่บังคับ): เพิ่มลิงก์ยกเลิกการสมัครในอีเมลโดยอัตโนมัติinbound_enabled(ไม่บังคับ): อนุญาตให้แนบโดเมนกับกล่องขาเข้าที่รับข้อความทั้งหมด (catch-all)
ต้องระบุการตั้งค่าอย่างน้อยหนึ่งรายการนอกเหนือจาก sending_domain_id
delete-sending-domain
ลบโดเมนผู้ส่ง
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่งที่จะลบ
send-sending-domain-setup-instructions
ส่งอีเมลคำแนะนำการตั้งค่า DNS สำหรับโดเมนผู้ส่งไปยังที่อยู่ที่กำหนด มีประโยชน์สำหรับการส่งต่อระเบียน DNS ให้เพื่อนร่วมทีม DevOps
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่งemail(จำเป็น): ที่อยู่อีเมลที่จะส่งคำแนะนำการตั้งค่า DNS ไป
get-company-info
รับข้อมูลบริษัทของโดเมนผู้ส่ง ใช้สำหรับการตรวจสอบการปฏิบัติตามข้อกำหนดของโดเมน
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่ง
create-company-info
ตั้งค่าข้อมูลบริษัทของโดเมนผู้ส่ง จำเป็นสำหรับการตรวจสอบการปฏิบัติตามข้อกำหนดของโดเมน
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่งname(จำเป็น): ชื่อบริษัทหรือบุคคลaddress(จำเป็น): ที่อยู่ถนนcity(จำเป็น): เมืองcountry(จำเป็น): ประเทศzip_code(จำเป็น): รหัสไปรษณีย์website_url(จำเป็น): URL เว็บไซต์บริษัทphone(ไม่บังคับ): หมายเลขโทรศัพท์privacy_policy_url(ไม่บังคับ): URL ของหน้านโยบายความเป็นส่วนตัวterms_of_service_url(ไม่บังคับ): URL ของหน้าข้อกำหนดการให้บริการinfo_level(ไม่บังคับ):businessหรือindividual
update-company-info
อัปเดตข้อมูลบริษัทของโดเมนผู้ส่ง
พารามิเตอร์:
sending_domain_id(จำเป็น): ID โดเมนผู้ส่ง- ทุกฟิลด์ของ create-company-info ไม่บังคับทั้งหมด ต้องระบุอย่างน้อยหนึ่งฟิลด์ ฟิลด์ที่ไม่ระบุจะไม่ถูกเปลี่ยนแปลง
list-suppressions
แสดงรายการหรือค้นหาการระงับการส่ง (อีเมลตีกลับถาวร ข้อร้องเรียนสแปม การยกเลิกการสมัคร การนำเข้าด้วยตนเอง) คืนค่าสูงสุด 1,000 รายการต่อการเรียก
พารามิเตอร์:
email(ไม่บังคับ): ตัวกรองอีเมล คืนค่าเฉพาะการระงับที่ตรงกับที่อยู่นี้
create-suppression
เพิ่มที่อยู่อีเมลในรายการระงับของบัญชี เพื่อให้ Mailtrap หยุดส่งถึงที่อยู่นั้น
พารามิเตอร์:
email(จำเป็น): ที่อยู่อีเมลที่จะระงับdomain_id(จำเป็น): ID ของโดเมนผู้ส่งที่การระงับนี้ใช้กับsending_stream(จำเป็น):transactionalหรือbulktype(ไม่บังคับ):hard bounce,spam complaint,unsubscriptionหรือmanual importค่าเริ่มต้นคือmanual import
delete-suppression
ลบการระงับตาม ID Mailtrap จะกลับมาส่งถึงอีเมลนี้เว้นแต่จะถูกระงับอีกครั้ง
พารามิเตอร์:
suppression_id(จำเป็น): ID ของการระงับที่จะลบ
list-tracking-opt-outs
แสดงรายการที่อยู่อีเมลที่ถูกแยกออกจากการติดตามการเปิดและการคลิก คืนค่าสูงสุด 1,000 รายการต่อการเรียก
พารามิเตอร์:
email(ไม่บังคับ): ตัวกรองอีเมล คืนค่าเฉพาะการเลือกไม่รับที่ตรงกับที่อยู่นี้start_time(ไม่บังคับ): เฉพาะการเลือกไม่รับที่สร้างขึ้นในเวลานี้หรือหลังจากนี้ (ISO 8601)end_time(ไม่บังคับ): เฉพาะการเลือกไม่รับที่สร้างขึ้นในเวลานี้หรือก่อนหน้านี้ (ISO 8601)last_id(ไม่บังคับ): เคอร์เซอร์แบ่งหน้า —last_idจากการตอบกลับก่อนหน้า
create-tracking-opt-out
แยกที่อยู่อีเมลออกจากการติดตามการเปิดและการคลิกสำหรับโดเมนผู้ส่ง
พารามิเตอร์:
email(จำเป็น): ที่อยู่อีเมลที่จะเลือกไม่รับการติดตามdomain_id(จำเป็น): ID ของโดเมนผู้ส่งที่การเลือกไม่รับนี้ใช้กับ
delete-tracking-opt-out
นำที่อยู่อีเมลออกจากรายการเลือกไม่รับการติดตาม เพื่อให้การติดตามการเปิดและการคลิกใช้กับที่อยู่นั้นอีกครั้ง
พารามิเตอร์:
tracking_opt_out_id(จำเป็น): ID ของการเลือกไม่รับการติดตามที่จะลบ
list-webhooks
แสดงรายการ webhook ทั้งหมดที่กำหนดค่าสำหรับบัญชี คืนค่าระเบียน webhook ฉบับเต็มเป็น JSON
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-webhook
รับ webhook เดี่ยวตาม ID คืนค่าระเบียน webhook ฉบับเต็มเป็น JSON หมายเหตุ: signing_secret ไม่ ถูกส่งคืนที่นี่ — มีเฉพาะในการตอบกลับจาก create-webhook เท่านั้น
พารามิเตอร์:
webhook_id(จำเป็น): ID ของ webhook ที่จะดึงข้อมูล
create-webhook
สร้าง webhook การตอบกลับรวมถึง signing_secret สำหรับตรวจสอบลายเซ็นเพย์โหลด webhook — ความลับนี้จะถูกส่งคืน เฉพาะตอนสร้างเท่านั้น ดังนั้นโปรดเก็บไว้ทันที หากทำหาย ให้สร้าง webhook ใหม่
พารามิเตอร์:
url(จำเป็น): URL ที่ Mailtrap จะส่งเหตุการณ์ webhook ไปwebhook_type(จำเป็น):"email_sending","audit_log"หรือ"inbound_receiving"active(ไม่บังคับ, บูลีน): ค่าเริ่มต้นคือtruepayload_format(ไม่บังคับ):"json"หรือ"jsonlines"ค่าเริ่มต้นคือ"json"sending_stream(ไม่บังคับ, เฉพาะemail_sending):"transactional"หรือ"bulk"event_types(ไม่บังคับ, เฉพาะemail_sending): อาร์เรย์ของdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdomain_id(ไม่บังคับ, เฉพาะemail_sending): ID โดเมนผู้ส่งเพื่อจำกัดขอบเขต webhook นี้inbound_inbox_id(ไม่บังคับ, เฉพาะinbound_receiving): ID ของกล่องขาเข้าที่ webhook เชื่อมโยงอยู่ ละเว้นเพื่อใช้กับทุกกล่องขาเข้าในบัญชี
update-webhook
อัปเดตฟิลด์ที่แก้ไขได้ของ webhook webhook_type, sending_stream และ domain_id ไม่สามารถเปลี่ยนแปลงได้หลังการสร้าง — สร้าง webhook ใหม่หากคุณต้องการเปลี่ยนค่าเหล่านั้น
พารามิเตอร์:
webhook_id(จำเป็น): ID ของ webhook ที่จะอัปเดตurl(ไม่บังคับ): URL webhook ใหม่active(ไม่บังคับ, บูลีน): เปิดหรือปิดใช้งาน webhookpayload_format(ไม่บังคับ):"json"หรือ"jsonlines"event_types(ไม่บังคับ, เฉพาะemail_sending): อาร์เรย์ของdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectinbound_inbox_id(ไม่บังคับ, เฉพาะinbound_receiving): ID ของกล่องขาเข้าที่ webhook เชื่อมโยงอยู่
delete-webhook
ลบ webhook อย่างถาวรตาม ID คืนค่าระเบียน webhook ที่ถูกลบ
พารามิเตอร์:
webhook_id(จำเป็น): ID ของ webhook ที่จะลบ
get-contact
รับข้อมูลผู้ติดต่อด้วย ID หรืออีเมล คืนค่าเรกคอร์ดผู้ติดต่อแบบเต็ม (การเป็นสมาชิกรายการ, สถานะ, ฟิลด์ที่กำหนดเอง)
พารามิเตอร์:
contact_identifier(จำเป็น): ID ผู้ติดต่อหรือที่อยู่อีเมล
create-contact
สร้างผู้ติดต่อใหม่
พารามิเตอร์:
email(จำเป็น): ที่อยู่อีเมลfields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเองโดยใช้ merge tag เป็นคีย์ (เช่นfirst_name) ค่ารองรับ string, number หรือ booleanlist_ids(ไม่บังคับ): ID ของรายการผู้ติดต่อที่จะสมัครผู้ติดต่อนี้unsubscribed(ไม่บังคับ, boolean): สร้างผู้ติดต่อในสถานะunsubscribed
update-contact
อัปเดตผู้ติดต่อที่มีอยู่โดยระบุ ID หรืออีเมล list_ids แทนที่ชุดการเป็นสมาชิกทั้งหมดของผู้ติดต่อ; list_ids_included/list_ids_excluded เพิ่ม/ลบโดยไม่กระทบส่วนที่เหลือ
พารามิเตอร์:
contact_identifier(จำเป็น): ID ผู้ติดต่อหรืออีเมลemail(ไม่บังคับ): ที่อยู่อีเมลใหม่fields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเองโดยใช้ merge tag เป็นคีย์list_ids(ไม่บังคับ): แทนที่ชุดการเป็นสมาชิกด้วยรายการที่ระบุนี้list_ids_included(ไม่บังคับ): ID รายการที่จะเพิ่ม (แบบเพิ่มเติม)list_ids_excluded(ไม่บังคับ): ID รายการที่จะลบunsubscribed(ไม่บังคับ, boolean): ตั้งค่าเป็นunsubscribed(true) หรือsubscribed(false)
delete-contact
ลบผู้ติดต่ออย่างถาวรด้วย ID หรืออีเมล คืนค่าเรกคอร์ดผู้ติดต่อที่ถูกลบเมื่อ API ตอบกลับด้วยเรกคอร์ด; มิฉะนั้นจะคืนค่า payload ยืนยัน
พารามิเตอร์:
contact_identifier(จำเป็น): ID ผู้ติดต่อหรืออีเมล
create-contact-event
บันทึกอีเวนต์ของผู้ติดต่อกับผู้ติดต่อ (โดย ID หรืออีเมล) ใช้เพื่อเรียกใช้ระบบอัตโนมัติของรายการผู้ติดต่อ
พารามิเตอร์:
contact_identifier(จำเป็น): ID ผู้ติดต่อหรืออีเมลname(จำเป็น): ชื่ออีเวนต์ (ต้องตรงกับทริกเกอร์ระบบอัตโนมัติ)params(จำเป็น): ออบเจกต์ของคู่คีย์/ค่าที่กำหนดเอง ค่ารองรับ string, number, boolean หรือ null
list-contact-lists
แสดงรายการผู้ติดต่อทั้งหมดสำหรับบัญชี
พารามิเตอร์:
search(ไม่บังคับ): กรองรายการผู้ติดต่อตามชื่อ (การจับคู่แบบไม่คำนึงถึงตัวพิมพ์เล็กใหญ่) เช่นnews
get-contact-list
รับรายการผู้ติดต่อด้วย ID
พารามิเตอร์:
list_id(จำเป็น): ID ของรายการผู้ติดต่อที่จะดึงข้อมูล
create-contact-list
สร้างรายการผู้ติดต่อใหม่
พารามิเตอร์:
name(จำเป็น): ชื่อสำหรับรายการใหม่
update-contact-list
เปลี่ยนชื่อรายการผู้ติดต่อที่มีอยู่
พารามิเตอร์:
list_id(จำเป็น): ID ของรายการผู้ติดต่อname(จำเป็น): ชื่อใหม่สำหรับรายการ
delete-contact-list
ลบรายการผู้ติดต่ออย่างถาวรด้วย ID
พารามิเตอร์:
list_id(จำเป็น): ID ของรายการผู้ติดต่อที่จะลบ
list-contact-fields
แสดงคำจำกัดความฟิลด์ผู้ติดต่อทั้งหมดสำหรับบัญชี
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-contact-field
รับคำจำกัดความฟิลด์ผู้ติดต่อด้วย ID
พารามิเตอร์:
field_id(จำเป็น): ID ของฟิลด์ผู้ติดต่อ
create-contact-field
สร้างคำจำกัดความฟิลด์ผู้ติดต่อใหม่ merge_tag ต้องไม่ซ้ำกันภายในบัญชีและใช้เป็นชื่อตัวแทนในตัวแปรเทมเพลต
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดง (เช่น "First Name")merge_tag(จำเป็น): ชื่อตัวแทนที่ไม่ซ้ำกัน (เช่นfirst_name)data_type(จำเป็น): หนึ่งในtext,number,boolean,date
update-contact-field
อัปเดตคำจำกัดความฟิลด์ผู้ติดต่อ สามารถเปลี่ยน name, merge_tag และ data_type ในรูปแบบใดก็ได้
พารามิเตอร์:
field_id(จำเป็น): ID ของฟิลด์ผู้ติดต่อname(ไม่บังคับ): ชื่อที่แสดงใหม่merge_tag(ไม่บังคับ): merge tag ใหม่ (ต้องคงความไม่ซ้ำกัน)data_type(ไม่บังคับ): หนึ่งในtext,number,boolean,date
delete-contact-field
ลบคำจำกัดความฟิลด์ผู้ติดต่ออย่างถาวรด้วย ID
พารามิเตอร์:
field_id(จำเป็น): ID ของฟิลด์ผู้ติดต่อที่จะลบ
create-contact-import
นำเข้าผู้ติดต่อเป็นจำนวนมาก คืนค่าเรกคอร์ดงานนำเข้า; ตรวจสอบสถานะด้วย get-contact-import
พารามิเตอร์:
contacts(จำเป็น): อาร์เรย์ของรายการผู้ติดต่อ แต่ละรายการต้องมี:email(จำเป็น): ที่อยู่อีเมลผู้ติดต่อfields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเองโดยใช้ merge tag เป็นคีย์ (ค่ารองรับ string หรือ number)list_ids_included(ไม่บังคับ): ID รายการที่จะเพิ่มผู้ติดต่อlist_ids_excluded(ไม่บังคับ): ID รายการที่จะลบผู้ติดต่อออก
get-contact-import
รับสถานะของงานนำเข้าผู้ติดต่อ (created/started/finished/failed) พร้อมจำนวน created/updated/over-limit
พารามิเตอร์:
import_id(จำเป็น): ID ของงานนำเข้าผู้ติดต่อ
create-contact-export
ส่งออกผู้ติดต่อที่ตรงกับชุดตัวกรองแบบ AND-combined คืนค่าเรกคอร์ดงานส่งออก; ตรวจสอบสถานะด้วย get-contact-export เพื่อรับ URL ดาวน์โหลดเมื่อ status เป็น finished
พารามิเตอร์:
filters(จำเป็น): อาร์เรย์ของออบเจกต์ตัวกรอง แต่ละรายการมี:name(จำเป็น): ฟิลด์ที่จะกรอง (list_id,subscription_status,email, ฯลฯ)operator(จำเป็น): หนึ่งในequal,not_equal,contains,not_contains,is_empty,is_not_emptyvalue(จำเป็น): ค่าเปรียบเทียบ (string, number, boolean หรือ array)
get-contact-export
รับสถานะของงานส่งออกผู้ติดต่อ เมื่อ status เป็น finished ฟิลด์ url จะเก็บลิงก์ดาวน์โหลด CSV
พารามิเตอร์:
export_id(จำเป็น): ID ของงานส่งออกผู้ติดต่อ
list-email-campaigns
แสดงแคมเปญอีเมลของบัญชี เรียงจากใหม่ไปเก่า พร้อมการแบ่งหน้าด้วย page-token สามารถกรองตามชื่อด้วย search
พารามิเตอร์:
token(ไม่บังคับ): หมายเลขหน้าที่จะดึง (page-token pagination) ค่าเริ่มต้นคือ1per_page(ไม่บังคับ): จำนวนแคมเปญต่อหน้า ค่าเริ่มต้นคือ50, สูงสุด100search(ไม่บังคับ): กรองแคมเปญตามชื่อ (การจับคู่บางส่วนแบบไม่คำนึงถึงตัวพิมพ์เล็กใหญ่)
get-email-campaign
รับแคมเปญอีเมลด้วย ID
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมล
create-email-campaign
สร้างแคมเปญอีเมลใหม่ แคมเปญจะถูกสร้างในสถานะ draft เสมอ; การกำหนดเวลาและการเริ่มต้นเป็นเครื่องมือแยกต่างหาก (schedule-email-campaign, start-email-campaign)
พารามิเตอร์:
name(จำเป็น): ชื่อแคมเปญdomain_id(จำเป็น): ID ของโดเมนผู้ส่งที่ยืนยันแล้วที่ใช้สำหรับแคมเปญ ตามที่ส่งคืนจาก endpoints ของ Sending Domainsfrom_local_part(จำเป็น): ส่วนท้องถิ่น (ก่อน @) ของที่อยู่ Fromtemplate_attributes(จำเป็น): เทมเพลตอีเมลแบบอินไลน์ มี:subject(จำเป็น): หัวข้ออีเมล (สูงสุด 255 ตัวอักษร) รองรับ merge tags เช่นHi {{first_name}}body_html(ไม่บังคับ): เนื้อหา HTML (การออกแบบ) จำเป็นก่อนที่แคมเปญจะถูกกำหนดเวลาหรือเริ่มต้น รวมลิงก์ยกเลิกการสมัครผ่าน anchor ที่hrefมีตัวแทน__unsubscribe_url__body_text(ไม่บังคับ): เนื้อหาอีเมลแบบข้อความธรรมดาทางเลือกmerge_tags(ไม่บังคับ): ชื่อ merge tags ที่อ้างอิงในหัวข้อ/เนื้อหา โดยไม่ต้องมีวงเล็บ เช่น["first_name"]
from_display_name(ไม่บังคับ): ชื่อที่แสดงในส่วนหัว Fromreply_to(ไม่บังคับ): ส่วนของที่อยู่ Reply-To (display_name,local_part,domain)delivery_mode(ไม่บังคับ):rapid(ส่งเร็วที่สุดเท่าที่เป็นไปได้) หรือgradual(จำกัดอัตราเป็นdelivery_options.emails_per_hour)delivery_options(ไม่บังคับ): ตัวเลือกการจำกัดอัตราการส่ง (emails_per_hour)contact_list_ids(ไม่บังคับ): ID ของรายการผู้ติดต่อที่จะส่งถึง (ถือเป็นชุดเต็มของรายการที่รวม)contact_segment_ids(ไม่บังคับ): ID ของกลุ่มผู้ติดต่อที่จะส่งถึง (ถือเป็นชุดเต็มของกลุ่มที่รวม)
update-email-campaign
อัปเดตแคมเปญอีเมลในสถานะ draft เท่านั้น เฉพาะฟิลด์ที่ระบุจะเปลี่ยน; เทมเพลตถูกแก้ไขในตำแหน่งเดิม แคมเปญในสถานะอื่นไม่สามารถอัปเดตได้
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะอัปเดต- พารามิเตอร์อื่นทั้งหมดไม่บังคับและเหมือนกับ
create-email-campaign(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
ลบแคมเปญอีเมลด้วย ID เฉพาะแคมเปญในสถานะ draft เท่านั้นที่สามารถลบได้
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะลบ
start-email-campaign
เริ่มส่งแคมเปญอีเมลในสถานะ draft ทันที เฉพาะแคมเปญในสถานะ draft เท่านั้นที่สามารถเริ่มได้; เทมเพลตต้องมีการออกแบบ body_html และต้องตั้งค่ากลุ่มเป้าหมายและโดเมนผู้ส่งที่ยืนยันแล้ว
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะเริ่ม
schedule-email-campaign
กำหนดเวลาแคมเปญอีเมลในสถานะ draft ให้เริ่มส่งในเวลาอนาคต เฉพาะแคมเปญในสถานะ draft เท่านั้นที่สามารถกำหนดเวลาได้
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะกำหนดเวลาdatetime(จำเป็น): เวลาที่จะส่งแคมเปญ (ISO 8601) ต้องเป็นเวลาในอนาคตและไม่เกิน 1 เดือนล่วงหน้า
cancel-email-campaign
ยกเลิกแคมเปญอีเมลในสถานะ scheduled โดยส่งกลับไปยังสถานะ draft เฉพาะแคมเปญในสถานะ scheduled เท่านั้นที่สามารถยกเลิกได้
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะยกเลิก
terminate-email-campaign
ยุติแคมเปญอีเมลที่กำลังส่งอยู่ (started, queued, หรือ paused) โดยหยุดการส่งที่กำลังดำเนินอยู่
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะยุติ
reset-email-campaign
รีเซ็ตแคมเปญอีเมลในสถานะ scheduled กลับไปเป็นสถานะ draft เฉพาะแคมเปญในสถานะ scheduled เท่านั้นที่สามารถรีเซ็ตได้
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลที่จะรีเซ็ต
get-email-campaign-stats
รับสถิติประสิทธิภาพรวมสำหรับแคมเปญอีเมล (จำนวนและอัตราสำหรับการส่งสำเร็จ, การเปิด, การคลิก, การตีกลับ, การร้องเรียนสแปม และการยกเลิกการสมัคร)
พารามิเตอร์:
email_campaign_id(จำเป็น): ID ของแคมเปญอีเมลstart_date(ไม่บังคับ): จุดเริ่มต้นของหน้าต่างการรวมข้อมูล (รวม),YYYY-MM-DDค่าเริ่มต้นคือวันที่แคมเปญถูกเริ่มล่าสุดend_date(ไม่บังคับ): จุดสิ้นสุดของหน้าต่างการรวมข้อมูล (รวม),YYYY-MM-DDค่าเริ่มต้นคือวันที่ปัจจุบัน
list-accounts
แสดงบัญชี Mailtrap ที่โทเค็น API ปัจจุบันสามารถเข้าถึงได้ พร้อมระดับการเข้าถึงของแต่ละบัญชี
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-billing-usage
รับการใช้งานรอบการเรียกเก็บเงินปัจจุบันสำหรับบัญชี: แผนการส่งและทดสอบ, ขีดจำกัด และจำนวนปัจจุบัน
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
list-account-accesses
แสดงการเข้าถึงบัญชี (ผู้ใช้, คำเชิญ, โทเค็น API) สำหรับบัญชี ตัวกรองไม่บังคับจะจำกัดผลลัพธ์ให้แคบลงตามทรัพยากรเฉพาะ ต้องมีสิทธิ์ผู้ดูแล/เจ้าของบัญชี
พารามิเตอร์:
domain_uuids(ไม่บังคับ): กรองตาม UUID ของโดเมนผู้ส่ง (อาร์เรย์ของสตริง)inbox_ids(ไม่บังคับ): กรองตาม ID ของกล่องจดหมาย sandbox (อาร์เรย์ของสตริง)project_ids(ไม่บังคับ): กรองตาม ID ของโปรเจกต์ sandbox (อาร์เรย์ของสตริง)
remove-account-access
ลบการเข้าถึงบัญชีด้วย ID สำหรับตัวระบุ User จะเพิกถอนสิทธิ์; สำหรับตัวระบุ Invite หรือ ApiToken จะลบตัวระบุทั้งหมด ต้องมีสิทธิ์ผู้ดูแล/เจ้าของ
พารามิเตอร์:
account_access_id(จำเป็น): ID ของเรกคอร์ดการเข้าถึงที่จะลบ
get-permission-resources
รับทรัพยากรทั้งหมด (กล่องจดหมาย, โปรเจกต์, โดเมน, การเรียกเก็บเงิน, บัญชี) ที่โทเค็น API มีสิทธิ์เข้าถึงระดับผู้ดูแล โดยจัดเรียงตามลำดับชั้น
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
bulk-update-permissions
สร้าง อัปเดต หรือลบสิทธิ์การเข้าถึงแบบกลุ่มสำหรับบัญชีการเข้าถึงเดียว คู่ (resource_type, resource_id) ที่มีอยู่จะถูกอัปเดต ส่วนคู่ใหม่จะถูกสร้างขึ้น ตั้งค่า destroy: true ในรายการเพื่อลบรายการนั้น
พารามิเตอร์:
account_access_id(จำเป็น): ID ของบัญชีการเข้าถึงเป้าหมายpermissions(จำเป็น): อาร์เรย์ของรายการสิทธิ์ แต่ละรายการมี:resource_id(จำเป็น): ID ของทรัพยากร (ตัวเลขหรือสตริง)resource_type(จำเป็น): หนึ่งในaccount,project,inbox,domain,billingaccess_level(ไม่บังคับ):admin/100หรือviewer/10destroy(ไม่บังคับ, บูลีน): เมื่อเป็น true จะลบสิทธิ์นี้แทนการสร้าง/อัปเดต
list-api-tokens
แสดงรายการ API tokens ทั้งหมดของบัญชี
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-api-token
สร้าง API token ใหม่ การตอบกลับจะรวมค่า secret token — นี่คือ ครั้งเดียวเท่านั้น ที่จะส่งคืน token เต็มรูปแบบ ดังนั้นให้จัดเก็บทันที หากทำหายต้องสร้าง token ใหม่
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดงสำหรับ tokenexpires_at(ไม่บังคับ): วันหมดอายุของ token ในรูปแบบ ISO 8601 date-time หากไม่ระบุจะใช้ค่าเริ่มต้นของเซิร์ฟเวอร์ (1 ปี); ส่งnullที่ชัดเจนสำหรับ token ที่ไม่มีวันหมดอายุ ค่าที่เป็นอดีตหรือค่าที่เกิน 5 ปีข้างหน้าจะถูกปฏิเสธresources(ไม่บังคับ): อาร์เรย์ของสิทธิ์ทรัพยากรเพื่อจำกัดขอบเขต token แต่ละรายการมี:resource_type(จำเป็น): หนึ่งในaccount,project,inbox,domain,billingresource_id(จำเป็น): ID ของทรัพยากรaccess_level(จำเป็น):100(ผู้ดูแลระบบ) หรือ10(ผู้ชม)
get-api-token
รับ API token ตาม ID ส่งคืนเฉพาะข้อมูลเมตา — ค่า secret token ไม่ ถูกส่งคืนที่นี่ (ส่งคืนจาก create-api-token / reset-api-token เท่านั้น)
พารามิเตอร์:
api_token_id(จำเป็น): ID ของ API token
reset-api-token
รีเซ็ต (หมุนเวียน) API token ตาม ID การตอบกลับจะรวมค่า secret token ใหม่ — ส่งคืนเฉพาะในการเรียกนี้เท่านั้น ดังนั้นให้จัดเก็บทันที token ก่อนหน้าจะถูกยกเลิก
พารามิเตอร์:
api_token_id(จำเป็น): ID ของ API token ที่จะรีเซ็ตexpires_at(ไม่บังคับ): วันหมดอายุสำหรับ token ใหม่ในรูปแบบ ISO 8601 date-time หากไม่ระบุจะใช้ค่าเริ่มต้นของเซิร์ฟเวอร์ (1 ปี); ส่งnullที่ชัดเจนสำหรับ token ที่ไม่มีวันหมดอายุ ค่าที่เป็นอดีตหรือค่าที่เกิน 5 ปีข้างหน้าจะถูกปฏิเสธ
delete-api-token
ลบ API token อย่างถาวรตาม ID token จะไม่สามารถใช้ยืนยันตัวตนได้อีกหลังการลบ
พารามิเตอร์:
api_token_id(จำเป็น): ID ของ API token ที่จะลบ
list-sub-accounts
แสดงรายการบัญชีย่อยในองค์กร ต้องใช้ตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์การจัดการบัญชีย่อย
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-sub-account
สร้างบัญชีย่อยใหม่ภายใต้องค์กร ต้องใช้ตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์การจัดการบัญชีย่อย
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดงสำหรับบัญชีย่อยใหม่
list-inbound-folders
แสดงรายการโฟลเดอร์ขาเข้าทั้งหมดในบัญชี ส่งคืนสรุปที่จัดรูปแบบแล้ว
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-inbound-folder
รับโฟลเดอร์ขาเข้าเดียวตาม ID ส่งคืนระเบียนโฟลเดอร์เต็มรูปแบบเป็น JSON
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้า
create-inbound-folder
สร้างโฟลเดอร์ขาเข้าใหม่
พารามิเตอร์:
name(จำเป็น): ชื่อโฟลเดอร์
update-inbound-folder
เปลี่ยนชื่อโฟลเดอร์ขาเข้า
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าname(จำเป็น): ชื่อโฟลเดอร์ใหม่
delete-inbound-folder
ลบโฟลเดอร์ขาเข้าอย่างถาวรพร้อมกับกล่องจดหมายทั้งหมดภายใน
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้า
list-inbound-inboxes
แสดงรายการกล่องจดหมายทั้งหมดในโฟลเดอร์ขาเข้า ส่งคืนสรุปที่จัดรูปแบบแล้ว
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้า
get-inbound-inbox
รับกล่องจดหมายขาเข้าเดียวตาม ID ส่งคืนระเบียนกล่องจดหมายเต็มรูปแบบเป็น JSON
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): ID ของกล่องจดหมาย
create-inbound-inbox
สร้างกล่องจดหมายขาเข้าใหม่ในโฟลเดอร์
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าname(จำเป็น): ชื่อกล่องจดหมายdomain_id(ไม่บังคับ): แนบกับโดเมนส่งแบบกำหนดเอง (กล่องจดหมาย catch-all) หากไม่ระบุจะใช้กล่องจดหมายที่โฮสต์โดย Mailtrap
update-inbound-inbox
เปลี่ยนชื่อกล่องจดหมายขาเข้า
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): ID ของกล่องจดหมายname(จำเป็น): ชื่อกล่องจดหมายใหม่
delete-inbound-inbox
ลบกล่องจดหมายขาเข้าอย่างถาวร
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): ID ของกล่องจดหมาย
list-inbound-messages
แสดงรายการข้อความที่ได้รับในกล่องจดหมายขาเข้า (แบ่งหน้าด้วย cursor) ส่งคืนสรุปที่จัดรูปแบบพร้อมคำแนะนำหน้าถัดไปเมื่อมีผลลัพธ์เพิ่มเติม
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายlast_id(ไม่บังคับ): cursor สำหรับแบ่งหน้าจากlast_idของการตอบกลับก่อนหน้า
get-inbound-message
รับข้อความขาเข้าเดียวพร้อมเนื้อหาเต็มและ URL สำหรับดาวน์โหลดไฟล์แนบ ส่งคืนระเบียนข้อความเต็มรูปแบบเป็น JSON
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายmessage_id(จำเป็น): ID ของข้อความ
delete-inbound-message
ลบข้อความขาเข้าอย่างถาวร
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายmessage_id(จำเป็น): ID ของข้อความ
reply-to-inbound-message
ตอบกลับข้อความขาเข้า (ส่งไปยังผู้ส่งเดิม) ส่งอีเมลจริง ที่อยู่ยอมรับสตริงอีเมลเปล่าหรือ { email, name? }
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายmessage_id(จำเป็น): ID ของข้อความที่จะตอบกลับtext/html(แนะนำอย่างน้อยหนึ่งรายการ): เนื้อหาการตอบกลับfrom(ไม่บังคับ): ผู้ส่ง จะถูกปฏิเสธสำหรับกล่องจดหมายที่โฮสต์โดย Mailtrap; จำเป็นสำหรับกล่องจดหมายโดเมนแบบกำหนดเองcc/bcc/reply_to(ไม่บังคับ): ที่อยู่เพิ่มเติมcategory(ไม่บังคับ): หมวดหมู่ข้อความattachments(ไม่บังคับ): อาร์เรย์ของ{ content (base64), filename, type?, disposition?, content_id? }headers/custom_variables(ไม่บังคับ): ออบเจกต์ของค่าสตริง
reply-all-to-inbound-message
ตอบกลับข้อความขาเข้าและสำเนาผู้รับอื่นๆ ของข้อความเดิม ส่งอีเมลจริง พารามิเตอร์เดียวกันกับ reply-to-inbound-message
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายmessage_id(จำเป็น): ID ของข้อความที่จะตอบกลับ- รวมถึงฟิลด์การส่งที่ไม่บังคับเดียวกันกับ
reply-to-inbound-message
forward-inbound-message
ส่งต่อข้อความขาเข้าไปยังผู้รับใหม่ ส่งอีเมลจริง
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายmessage_id(จำเป็น): ID ของข้อความที่จะส่งต่อto(จำเป็น): ผู้รับอย่างน้อยหนึ่งราย (สตริงอีเมลเปล่าหรือ{ email, name? }, หรืออาร์เรย์)- รวมถึงฟิลด์การส่งที่ไม่บังคับเดียวกันกับ
reply-to-inbound-message
list-inbound-threads
แสดงรายการเธรดการสนทนาในกล่องจดหมายขาเข้า (แบ่งหน้าด้วย cursor) ส่งคืนสรุปที่จัดรูปแบบพร้อมคำแนะนำหน้าถัดไปเมื่อมีผลลัพธ์เพิ่มเติม
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายlast_id(ไม่บังคับ): cursor สำหรับแบ่งหน้าจากlast_idของการตอบกลับก่อนหน้า
get-inbound-thread
รับเธรดขาเข้าเดียวพร้อมข้อความที่ฝังอยู่ (เก่าที่สุดก่อน) ส่งคืนระเบียนเธรดเต็มรูปแบบเป็น JSON
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายthread_id(จำเป็น): ID ของเธรด
delete-inbound-thread
ลบเธรดขาเข้าอย่างถาวร
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายthread_id(จำเป็น): ID ของเธรด
การพัฒนา
- โคลนที่เก็บ:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- ติดตั้ง dependencies:
npm install
การกำหนดค่าด้วย Claude Desktop หรือ Cursor
[!TIP] ดูตำแหน่งของไฟล์กำหนดค่าในส่วน Setup
เพิ่มการกำหนดค่าต่อไปนี้:
{
"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"
}
}
}
}
หากคุณใช้ asdf สำหรับจัดการ Node.js คุณควรใช้พาธสัมบูรณ์ไปยัง executable:
(ตัวอย่างสำหรับ Mac)
{
"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] ดูตำแหน่งของไฟล์กำหนดค่าในส่วน Setup
{
"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"
}
}
}
}
}
การทดสอบ
การรันเครื่องมือกับ Mailtrap จริง
มีสองวิธีในการทดสอบเครื่องมือแบบ end-to-end กับบัญชี Mailtrap จริง: MCP Inspector UI เบราว์เซอร์สำหรับการสำรวจแบบโต้ตอบ หรือโหมด CLI สำหรับการเรียกครั้งเดียวจากเชลล์
ทั้งสองวิธีต้องสร้าง bundle ก่อน:
npm run build
และส่งออก MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID ในเชลล์ของคุณ (สคริปต์ mcp:cli ส่งต่อทั้งสองไปยังเซิร์ฟเวอร์ที่สร้างขึ้น)
UI เบราว์เซอร์
npm run dev
Inspector จะพิมพ์ URL เช่น http://localhost:6274 เปิดมัน สลับไปที่แท็บ Tools เลือกเครื่องมือ (เช่น get-template) กรอกพารามิเตอร์เป็น JSON แล้วกด Run การตอบกลับจาก Mailtrap จะปรากฏในแผงด้านล่าง
CLI
สำหรับการเรียกครั้งเดียวโดยไม่ใช้ UI ให้ใช้ npm run mcp:cli ส่งแฟล็ก CLI ของ Inspector หลัง -- เพื่อให้ npm ส่งต่อตามตัวอักษร:
# 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 Server
# Run the MCPB server directly
node dist/mcpb-server.js
# Or use the provided binary
mailtrap-mcpb-server
[!TIP] สำหรับการพัฒนาด้วย MCP Inspector:
npm run dev:mcpb
การจัดการข้อผิดพลาด
เซิร์ฟเวอร์นี้ใช้การจัดการข้อผิดพลาดแบบมีโครงสร้างที่สอดคล้องกับหลักการ MCP:
VALIDATION_ERROR: ความล้มเหลวในการตรวจสอบอินพุตCONFIGURATION_ERROR: การกำหนดค่าที่ขาดหายไปหรือไม่ถูกต้องEXECUTION_ERROR: ข้อผิดพลาดในการดำเนินการรันไทม์TIMEOUT: หมดเวลาการทำงาน (ค่าเริ่มต้น 30 วินาที)
ข้อผิดพลาดรวมข้อความที่สามารถดำเนินการได้และถูกบันทึกในรูปแบบที่มีโครงสร้าง
ความปลอดภัย
- อินพุตถูกตรวจสอบผ่าน Zod schemas
- ตัวแปรสภาพแวดล้อมถูกจัดการอย่างปลอดภัย
- การป้องกันการหมดเวลาของการดำเนินการ (30 วินาที)
- รายละเอียดที่ละเอียดอ่อนถูกกรองในผลลัพธ์ข้อผิดพลาด
การบันทึก
บันทึก JSON แบบมีโครงสร้างพร้อมระดับ: INFO, WARN, ERROR, DEBUG
เปิดใช้งานการบันทึกดีบักโดยตั้งค่า DEBUG=true
# Example: enable debug logging
DEBUG=true node dist/mcpb-server.js
สำคัญ: เซิร์ฟเวอร์เขียนบันทึกไปยัง stderr เพื่อให้ stdout ยังคงสงวนไว้สำหรับเฟรม JSON-RPC ซึ่งป้องกันไม่ให้โฮสต์พบข้อผิดพลาดในการแยกวิเคราะห์ JSON เนื่องจากบันทึกที่แทรกสลับ
ตัวอย่างการวิเคราะห์บันทึกโดยใช้ jq:
# 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")'
การแก้ไขปัญหา
ปัญหาทั่วไป:
- ไม่มี API Token: ตรวจสอบว่าได้ตั้งค่า
MAILTRAP_API_TOKENแล้ว - Sandbox ไม่ทำงาน: ระบุ
test_inbox_idในการเรียกเครื่องมือหรือตั้งค่าตัวแปรสภาพแวดล้อมMAILTRAP_TEST_INBOX_ID - ข้อผิดพลาดหมดเวลา: ตรวจสอบการเชื่อมต่อเครือข่ายและสถานะ API ของ Mailtrap
- ข้อผิดพลาดการตรวจสอบ: ตรวจสอบว่ากรอกฟิลด์ที่จำเป็นครบถ้วน
การมีส่วนร่วม
ยินดีต้อนรับรายงานข้อบกพร่องและ pull requests บน GitHub โปรเจกต์นี้ตั้งใจให้เป็นพื้นที่ที่ปลอดภัยและเป็นมิตรสำหรับการทำงานร่วมกัน และผู้มีส่วนร่วมควรปฏิบัติตาม code of conduct
สัญญาอนุญาต
แพ็กเกจนี้เปิดให้ใช้งานเป็นโอเพนซอร์สภายใต้เงื่อนไขของ MIT License
จรรยาบรรณ
ทุกคนที่โต้ตอบใน codebases, issue trackers, ห้องแชท และรายชื่ออีเมลของโปรเจกต์ Mailtrap ควรปฏิบัติตาม code of conduct