Mailtrap
ทางการผสานการทำงานกับ Mailtrap Email API
คุณทำอะไรได้บ้างด้วย Mailtrap MCP?
- ส่งอีเมลธุรกรรม — ขอให้ผู้ช่วยส่งอีเมลพร้อมหัวเรื่องและเนื้อหาแบบข้อความหรือ HTML โดยเลือกใช้เทมเพลตและตัวแปรได้
- ทดสอบใน Email Sandbox — ส่งข้อความไปยังแซนด์บ็อกซ์และตรวจสอบเนื้อหา ส่วนหัว และไฟล์แนบ โดยไม่ส่งถึงผู้รับจริง
- แก้ไขปัญหาการส่งด้วยบันทึก — แสดงรายการและกรองบันทึกอีเมลที่ส่งแล้ว จากนั้นเปิดข้อความที่ต้องการเพื่อตรวจสอบประวัติเหตุการณ์และสถานะการส่ง
- วิเคราะห์สถิติการส่ง — ดูอัตราการส่งสำเร็จ การตีกลับ การเปิด การคลิก และสแปมในช่วงวันที่ที่กำหนด โดยแยกตามโดเมน หมวดหมู่ หรือวันที่
- จัดการเทมเพลต — สร้าง แสดงรายการ อัปเดต และลบเทมเพลตอีเมลที่จัดเก็บไว้ในบัญชี Mailtrap ของคุณ
- จัดการโดเมนและรายการระงับ — แสดงรายการโดเมน ดูคำแนะนำการตั้งค่า DNS และตรวจสอบหรือนำที่อยู่ออกจากรายการระงับ
เอกสาร
MCP Server อย่างเป็นทางการของ Mailtrap
MCP server อย่างเป็นทางการสำหรับ Mailtrap — แพลตฟอร์มส่งอีเมล เชื่อมต่อบัญชี Mailtrap ของคุณกับ Claude, Cursor, VS Code และผู้ช่วย AI อื่น ๆ ที่รองรับ MCP
ส่งอีเมลธุรกรรมและอีเมลจำนวนมาก ทดสอบข้อความอย่างปลอดภัยใน Email Sandbox จัดการเทมเพลต รายชื่อผู้ติดต่อ โดเมน และเว็บฮุก ตรวจสอบบันทึกอีเมลและสถิติการส่ง แก้ไขปัญหาการส่งอีเมล และจัดการทรัพยากรบัญชี ทั้งหมดนี้ด้วยพรอมป์ต์ภาษาธรรมชาติ
ความสามารถ
- Email API และ SMTP — ส่งอีเมลธุรกรรมและอีเมลจำนวนมาก รวมถึงข้อความแบบชุดและข้อความที่ใช้เทมเพลต
- การทดสอบอีเมล — ทดสอบข้อความใน Email Sandbox และตรวจสอบเนื้อหา ส่วนหัว ไฟล์แนบ คะแนนสแปม และความเข้ากันได้กับไคลเอ็นต์ HTML
- การตรวจสอบการส่ง — ค้นหาบันทึกอีเมล ตรวจสอบประวัติเหตุการณ์ และวิเคราะห์อัตราการส่ง การตีกลับ การเปิด การคลิก และสแปม
- โครงสร้างพื้นฐานอีเมล — จัดการโดเมน การยืนยัน DNS เว็บฮุก และรายการระงับ
- รายชื่อผู้ติดต่อ — จัดการรายชื่อผู้ติดต่อ รายการ ฟิลด์ที่กำหนดเอง และเหตุการณ์ พร้อมนำเข้าและส่งออก
- การจัดการบัญชี — ตรวจสอบการใช้งานสำหรับการเรียกเก็บเงิน และจัดการสิทธิ์การเข้าถึง การอนุญาต โทเค็น API และบัญชีย่อย
ไคลเอ็นต์ MCP ที่รองรับ
ใช้งานได้กับ Claude Desktop, Claude Code, Cursor, VS Code และไคลเอ็นต์อื่น ๆ ที่รองรับ MCP ดูคำแนะนำการตั้งค่าสำหรับแต่ละไคลเอ็นต์ได้ด้านล่าง
ข้อกำหนดเบื้องต้น
ก่อนใช้ MCP server นี้ คุณต้อง:
- สร้างบัญชี Mailtrap
- ยืนยันโดเมนของคุณ
- รับโทเค็น API จาก การตั้งค่า API ของ Mailtrap
- รับ Account ID จาก การจัดการบัญชี Mailtrap
- ติดตั้ง Node.js เวอร์ชัน 22 ขึ้นไป เว้นแต่คุณจะเรียกใช้อิมเมจ Docker
ตัวแปรสภาพแวดล้อมที่จำเป็น:
MAILTRAP_API_TOKEN- จำเป็นสำหรับฟังก์ชันการทำงานทั้งหมดMAILTRAP_ACCOUNT_ID- จำเป็นสำหรับเทมเพลต, get-sending-stats, บันทึกอีเมล, รายการ/แสดง sandbox, โดเมน และรายการระงับ จำเป็นเฉพาะสำหรับเครื่องมือส่งอีเมล (send-email, send-sandbox-email และเครื่องมือ batch-send-*) เครื่องมือแคมเปญอีเมล get-marketing-stats เครื่องมือข้อมูลบริษัท เครื่องมือยกเลิกการติดตาม และ list-accounts เท่านั้น
ไม่บังคับ (สามารถส่งเป็นพารามิเตอร์ของเครื่องมือแทนได้):
DEFAULT_FROM_EMAIL- อีเมลผู้ส่งเริ่มต้นเมื่อไม่ได้ระบุfromให้กับ send-email, send-sandbox-email หรือเครื่องมือ batch-send-* (โดยจะใส่ค่าให้base.from) ช่วยให้เปลี่ยนผู้ส่งในแต่ละครั้งที่เรียกใช้ได้ผ่านพารามิเตอร์fromMAILTRAP_SANDBOX_ID- ID ของ sandbox เริ่มต้นเมื่อไม่ได้ระบุsandbox_idของเครื่องมือ (ยังรองรับtest_inbox_idแบบเดิมในเครื่องมือส่ง/แสดงรายการ/แสดงข้อความ sandbox) ช่วยให้เปลี่ยน sandbox ในแต่ละครั้งที่เรียกใช้ได้ผ่านพารามิเตอร์MAILTRAP_TEST_INBOX_ID- ชื่อแทนที่เลิกใช้แล้วของMAILTRAP_SANDBOX_ID; ยังคงอ่านเป็นค่าทดแทนสำหรับการกำหนดค่าที่มีอยู่ และบันทึกคำเตือนการเลิกใช้ไปยัง stderr เมื่อมีการใช้งานMAILTRAP_ORGANIZATION_ID- จำเป็นสำหรับเครื่องมือระดับองค์กร (list-sub-accounts,create-sub-account,delete-sub-account)MAILTRAP_ORGANIZATION_API_TOKEN- โทเค็น API ที่กำหนดขอบเขตระดับองค์กร จำเป็นสำหรับเครื่องมือระดับองค์กร (แยกจากMAILTRAP_API_TOKEN)
ติดตั้งด่วน
Docker
เรียกใช้ server ผ่าน stdio ด้วยอิมเมจ Docker MCP Catalog:
docker run --rm -i \
-e MAILTRAP_API_TOKEN="${MAILTRAP_API_TOKEN}" \
-e MAILTRAP_ACCOUNT_ID="${MAILTRAP_ACCOUNT_ID}" \
-e DEFAULT_FROM_EMAIL="${DEFAULT_FROM_EMAIL}" \
-e MAILTRAP_SANDBOX_ID="${MAILTRAP_SANDBOX_ID}" \
-e MAILTRAP_ORGANIZATION_ID="${MAILTRAP_ORGANIZATION_ID}" \
-e MAILTRAP_ORGANIZATION_API_TOKEN="${MAILTRAP_ORGANIZATION_API_TOKEN}" \
mcp/mailtrap
ดู ข้อกำหนดเบื้องต้น สำหรับตัวแปรสภาพแวดล้อมที่จำเป็นและไม่บังคับ
หากต้องการสร้างจาก repository นี้: docker build -t mcp/mailtrap .
Smithery CLI
Smithery เป็นรีจิสทรีและตัวติดตั้งสำหรับ MCP server ที่ใช้งานร่วมกับไคลเอ็นต์ AI ได้
ติดตั้ง server ที่เผยแพร่แล้ว (mailtrap/mailtrap-mcp) ลงในไคลเอ็นต์ภายในเครื่อง (เปลี่ยนชื่อไคลเอ็นต์ตามต้องการ):
npx -y smithery mcp add mailtrap/mailtrap-mcp --client claude
ดู เอกสาร Smithery CLI สำหรับไคลเอ็นต์อื่น ๆ (cursor, windsurf เป็นต้น) และวิธีเผยแพร่การอัปเดต
การตั้งค่า
Claude Desktop
ใช้ MCPB เพื่อติดตั้ง server ของ 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_SANDBOX_ID": "your_sandbox_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": "22.14.0",
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
ตำแหน่งไฟล์กำหนดค่า Claude Desktop
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_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
}
[!TIP] อย่าลืมรีสตาร์ต MCP server หลังจากเปลี่ยนส่วน "env"
MCP Bundle (MCPB)
เพื่อให้ติดตั้งได้ง่ายในโฮสต์ที่รองรับ MCP Bundles คุณสามารถแจกจ่ายไฟล์ bundle .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 สคริปต์จะคัดลอก dist/, manifest.json, icon.png และ
license ไปยัง mcpb-build/ ติดตั้ง dependencies สำหรับ production ที่นั่น และแพ็กเฉพาะไดเรกทอรีดังกล่าว
อย่าเรียกใช้ mcpb pack . จากไดเรกทอรีรากของ repository
การใช้งาน
เมื่อตั้งค่าแล้ว คุณสามารถขอให้ agent ส่งอีเมลและจัดการเทมเพลตได้ ตัวอย่างเช่น:
การดำเนินการส่งอีเมล:
- "ส่งอีเมลถึง 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 ชื่อ 'QA' ในโปรเจกต์ 42 และแสดงข้อมูลรับรอง SMTP"
- "ลบข้อความทั้งหมดจาก sandbox 1234"
- "แสดงรายละเอียดข้อความ 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 ในสตรีมธุรกรรมของโดเมน 3938"
- "แสดงที่อยู่อีเมลทั้งหมดที่ถูกระงับ"
- "ทำไม user@example.com ถึงไม่ได้รับอีเมลของฉัน?"
- "นำ user@example.com ออกจากรายการระงับ"
การยกเลิกการติดตาม:
- "หยุดติดตามการเปิดและการคลิกสำหรับ privacy@example.com บนโดเมน 3938"
- "แสดงทุกคนที่เลือกไม่รับการติดตาม"
รายชื่อผู้ติดต่อและรายการ:
- "เพิ่ม john.doe@example.com ลงในรายชื่อผู้ติดต่อจดหมายข่าวของฉัน"
- "แสดงรายการรายชื่อผู้ติดต่อทั้งหมดของฉัน"
- "สร้างฟิลด์ผู้ติดต่อชื่อ 'signup_source' เพื่อติดตามว่าผู้ติดต่อมาจากที่ใด"
- "อัปเดตผู้ติดต่อ john.doe@example.com โดยกำหนด plan เป็น 'pro'"
- "นำเข้าผู้ติดต่อจาก CSV นี้ไปยังรายการ onboarding ของฉัน"
- "ส่งออกรายชื่อผู้ติดต่อทั้งหมดจากรายการจดหมายข่าวของฉัน"
- "บันทึกเหตุการณ์ 'trial_started' สำหรับผู้ติดต่อ john.doe@example.com"
เว็บฮุก:
- "แสดงเว็บฮุกทั้งหมดที่กำหนดค่าไว้ในบัญชีของฉัน"
- "สร้างเว็บฮุกที่ชี้ไปยัง https://example.com/hooks/mailtrap สำหรับเหตุการณ์การตีกลับและสแปม"
- "อัปเดตเว็บฮุก 4821 ให้ส่งเหตุการณ์การส่งด้วย"
- "ลบเว็บฮุก 4821"
บัญชีและการเรียกเก็บเงิน:
- "การใช้งานสำหรับการเรียกเก็บเงินของฉันในเดือนนี้เป็นอย่างไร?"
- "ฉันเหลืออีเมลในแพ็กเกจอีกกี่ฉบับ?"
- "แสดงทุกคนที่เข้าถึงบัญชี Mailtrap นี้ได้"
- "แสดงทรัพยากรสิทธิ์ที่มีอยู่ในบัญชีของฉัน"
โทเค็น API:
- "แสดงโทเค็น API ทั้งหมดในบัญชีของฉัน"
- "สร้างโทเค็น API ใหม่สำหรับสภาพแวดล้อม staging"
- "รีเซ็ตโทเค็น API ที่มี ID 1234"
- "ลบโทเค็น API 1234 ที่ไม่ได้ใช้งาน"
องค์กรและบัญชีย่อย:
- "แสดงบัญชีย่อยทั้งหมดในองค์กรของฉัน"
- "สร้างบัญชีย่อยใหม่สำหรับโปรเจกต์ลูกค้า 'Acme Corp'"
เปลี่ยนชื่อเครื่องมือ
ตอนนี้ Mailtrap เรียกกล่องจดหมายทดสอบว่า sandboxes และโดเมนสำหรับส่งว่า domains และชื่อเครื่องมือก็เปลี่ยนตามนั้น ชื่อเดิมจะไม่ปรากฏในรายการเครื่องมืออีกต่อไป แต่การเรียกใช้ชื่อเหล่านั้นยังทำงานได้และจะบันทึกคำเตือนการเลิกใช้ไปยัง stderr โดยจะนำออกในรุ่นหลักในอนาคต
ไคลเอ็นต์ MCP และเฟรมเวิร์ก agent จะจับคู่รายการอนุญาต รายการปฏิเสธ และรายการตัวกรองกับชื่อเครื่องมือที่ประกาศไว้ ดังนั้นให้ย้ายรายการเฉพาะเครื่องมือไปใช้ชื่อใหม่: รายการปฏิเสธสำหรับ delete-sending-domain จะไม่บล็อก delete-domain อีกต่อไป
| ชื่อเดิม | ชื่อใหม่ |
|---|---|
create-sandbox-inbox | create-sandbox |
get-sandbox-inbox | get-sandbox |
update-sandbox-inbox | update-sandbox |
delete-sandbox-inbox | delete-sandbox |
clean-sandbox-inbox | clean-sandbox |
list-sending-domains | list-domains |
get-sending-domain | get-domain |
create-sending-domain | create-domain |
update-sending-domain | update-domain |
delete-sending-domain | delete-domain |
send-sending-domain-setup-instructions | send-domain-setup-instructions |
พารามิเตอร์ sending_domain_id ของเครื่องมือโดเมนและข้อมูลบริษัท | domain_id |
ตัวแปรสภาพแวดล้อม MAILTRAP_TEST_INBOX_ID | MAILTRAP_SANDBOX_ID |
ตัวกรองที่ตรงกับฟิลด์ API จะยังคงใช้ชื่อเดิม: sending_domain_id บน list-email-logs และ sending_domain_ids บนเครื่องมือสถิติ
เครื่องมือที่มีให้ใช้งาน
send-email
ส่งอีเมลธุรกรรมผ่าน Mailtrap รองรับโหมดที่เลือกใช้ได้เพียงโหมดเดียวจากสองโหมด — เนื้อหาแบบอินไลน์ (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(ตามข้อกำหนดของ Mailtrap API)template_variables(ไม่บังคับ): ออบเจ็กต์ตัวแปรที่แทนค่าในเทมเพลตที่อ้างอิงโดยtemplate_uuidอนุญาตให้ใช้ร่วมกับtemplate_uuidเท่านั้น
batch-send-transactional-email
ส่งอีเมลธุรกรรมเป็นชุดในการเรียก Mailtrap API ครั้งเดียว (สตรีมการส่งเริ่มต้น) ฟิลด์ที่ใช้ร่วมกันให้ระบุใน base; การแทนค่ารายผู้รับให้ระบุใน requests[] แต่ละคำขอต้องมีผู้รับอย่างน้อยหนึ่งรายผ่าน to, cc หรือ bcc ใช้กฎการไม่สามารถใช้ร่วมกันระหว่าง inline กับเทมเพลตแบบเดียวกับ send-email — ตรวจสอบหลังจากรวมค่าพื้นฐานกับแต่ละคำขอแล้ว
พารามิเตอร์:
base(ไม่บังคับ): ออบเจ็กต์ที่มีฟิลด์ซึ่งใช้ร่วมกันทั้งชุดfrom(ไม่บังคับ): ผู้ส่งในรูปแบบ{ email, name? }(ขณะรันไทม์ยังยอมรับสตริงอีเมลเปล่าได้ด้วย) หากไม่ระบุ จะใช้DEFAULT_FROM_EMAILreply_to(ไม่บังคับ): ที่อยู่สำหรับตอบกลับsubject/text/html/category(ไม่บังคับ, โหมด inline): เนื้อหาเริ่มต้นสำหรับทุกคำขอtemplate_uuid/template_variables(ไม่บังคับ, โหมดเทมเพลต): เทมเพลตเริ่มต้นและตัวแปร ใช้ร่วมกับฟิลด์ inline ไม่ได้custom_variables(ไม่บังคับ): ตัวแปรกำหนดเองเริ่มต้น (ค่าเป็นสตริง)headers(ไม่บังคับ): ส่วนหัวกำหนดเองเริ่มต้น
requests(จำเป็น): อาร์เรย์ข้อความรายผู้รับที่ไม่ว่าง แต่ละรายการประกอบด้วย:to(ไม่บังคับ): อาร์เรย์ผู้รับในรูปแบบออบเจ็กต์{ email, name? }(ขณะรันไทม์ยังยอมรับสตริงอีเมลเปล่า หรือที่อยู่เดียวที่ไม่ใช่อาร์เรย์ได้ด้วย) ไม่จำเป็นต้องระบุหากมีการระบุccหรือbcc; อย่างน้อยหนึ่งรายการจากto/cc/bccต้องมีผู้รับcc,bcc,reply_to(ไม่บังคับ)- การแทนค่าแบบ inline (
subject/text/html/category) หรือแบบเทมเพลต (template_uuid/template_variables); ฟิลด์ที่ไม่ระบุจะใช้ค่าที่ตรงกันจากbase custom_variables,headers(ไม่บังคับ)
batch-send-bulk-email
ส่งอีเมลจำนวนมากเป็นชุดผ่าน API ของ bulk-stream ของ Mailtrap ใช้รูปแบบ base + requests[] รวมถึงกฎการตรวจสอบและการใช้ inline กับเทมเพลตแบบเดียวกับ batch-send-transactional-email — ข้อแตกต่างเพียงอย่างเดียวคือเครื่องมือนี้ส่งคำขอผ่าน bulk endpoint แทน transactional endpoint ดูพารามิเตอร์ด้านบน
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 (อาร์เรย์สตริง)
get-marketing-stats
รับสถิติ Email Marketing แบบรวมจากแคมเปญและระบบอัตโนมัติสำหรับช่วงวันที่ที่กำหนด ได้แก่ จำนวนและอัตราการส่ง การส่งสำเร็จ การตีกลับ การเปิด การคลิก สแปม และการยกเลิกการสมัคร delivery_rate และ bounce_rate เป็นสัดส่วนของ sent_count; อัตราอื่น ๆ เป็นสัดส่วนของ delivery_count
พารามิเตอร์:
start_date(จำเป็น): วันเริ่มต้นของช่วงวันที่ (รวมวันดังกล่าว),YYYY-MM-DDend_date(จำเป็น): วันสิ้นสุดของช่วงวันที่ (รวมวันดังกล่าว),YYYY-MM-DDsending_domain_ids(ไม่บังคับ): จำกัดผลลัพธ์เฉพาะ ID โดเมนเหล่านี้ (อาร์เรย์จำนวนเต็ม)sources(ไม่บังคับ):campaignsหรือautomationsจะจำกัดสถิติเฉพาะแหล่งที่มานั้น; ไม่ต้องระบุ หรือส่งทั้งสองค่า เพื่อรวมทราฟฟิก Email Marketing ทั้งหมด (อาร์เรย์สตริง)email_service_providers(ไม่บังคับ): จำกัดเฉพาะผู้ให้บริการเหล่านี้ เช่น Google, Yahoo, Outlook (อาร์เรย์สตริง)
create-template
สร้างเทมเพลตอีเมลใหม่ในบัญชี Mailtrap ของคุณ
พารามิเตอร์:
name(จำเป็น): ชื่อเทมเพลตsubject(จำเป็น): บรรทัดหัวเรื่องอีเมลhtml(หรือtextจำเป็น): เนื้อหา HTML ของเทมเพลตtext(หรือhtmlจำเป็น): เวอร์ชันข้อความธรรมดาของเทมเพลตcategory(ไม่บังคับ): หมวดหมู่เทมเพลต (ค่าเริ่มต้นคือ "General")
list-templates
แสดงเทมเพลตอีเมลในบัญชี Mailtrap ของคุณ พร้อมการแบ่งหน้าโดยใช้ page token เมื่อมีเทมเพลตเพิ่มเติม ผลลัพธ์จะแสดงชื่อ token สำหรับหน้าถัดไป หน้าต่าง ๆ เป็นตำแหน่งในรายการเรียงจากใหม่ไปเก่า ดังนั้นหลังจากลบเทมเพลต ให้เริ่มแสดงรายการอีกครั้งจาก token 1 แทนการใช้โทเค็นถัดไปต่อ หากหน้าไม่มีรายการ จะแสดงชื่อหน้าสุดท้ายที่ยังมีเทมเพลต
พารามิเตอร์:
token(ไม่บังคับ): หมายเลขหน้าที่ต้องการดึงข้อมูล (การแบ่งหน้าโดยใช้ page token) ค่าเริ่มต้นคือ1per_page(ไม่บังคับ): จำนวนเทมเพลตต่อหน้า ค่าเริ่มต้นคือ50, สูงสุด100ให้ส่งค่าเดิมในทุกหน้า
get-template
ดึงเทมเพลตอีเมลรายการเดียวตาม ID รวมถึงหัวเรื่อง หมวดหมู่ และเนื้อหา HTML/ข้อความ
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่ต้องการดึงข้อมูล
update-template
อัปเดตเทมเพลตอีเมลที่มีอยู่
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่ต้องการอัปเดตname(ไม่บังคับ): ชื่อใหม่ของเทมเพลตsubject(ไม่บังคับ): บรรทัดหัวเรื่องอีเมลใหม่html(ไม่บังคับ): เนื้อหา HTML ใหม่ของเทมเพลตtext(ไม่บังคับ): เวอร์ชันข้อความธรรมดาใหม่ของเทมเพลตcategory(ไม่บังคับ): หมวดหมู่ใหม่ของเทมเพลต
[!NOTE] ต้องระบุฟิลด์ที่อัปเดตได้อย่างน้อยหนึ่งรายการ (name, subject, html, text หรือ category) เมื่อเรียก update-template เพื่อดำเนินการอัปเดต
delete-template
ลบเทมเพลตอีเมลที่มีอยู่
พารามิเตอร์:
template_id(จำเป็น): ID ของเทมเพลตที่ต้องการลบ
send-sandbox-email
ส่งอีเมลไปยัง sandbox ของ Mailtrap เพื่อการพัฒนาและทดสอบ เหมาะสำหรับทดสอบเทมเพลตอีเมลโดยไม่ส่งอีเมลไปยังผู้รับจริง รองรับสองโหมดเดียวกับ send-email — เนื้อหาแบบ inline หรือ แบบใช้เทมเพลต (template_uuid)
พารามิเตอร์:
sandbox_id(ไม่บังคับ): แนะนำให้ใช้ ID ของแซนด์บ็อกซ์ Mailtrap จำเป็นต้องระบุ เว้นแต่จะตั้งค่าMAILTRAP_SANDBOX_IDtest_inbox_id(ไม่บังคับ): ชื่อแทนแบบเดิมของsandbox_idเมื่อไม่ได้ระบุsandbox_idfrom(ไม่บังคับ): ผู้ส่งในรูปแบบ{ 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 — ความแตกต่างคือเครื่องมือนี้ส่งการเรียกผ่านปลายทางแซนด์บ็อกซ์สำหรับแซนด์บ็อกซ์เดียว
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID ของแซนด์บ็อกซ์ Mailtrap จำเป็นต้องระบุ เว้นแต่จะตั้งค่าMAILTRAP_SANDBOX_ID; ส่งค่าในแต่ละครั้งที่เรียกใช้เพื่อระบุแซนด์บ็อกซ์เป้าหมายbase(ไม่บังคับ),requests(จำเป็น): ดูรายละเอียดด้านบนที่batch-send-transactional-email
[!NOTE] เครื่องมือแซนด์บ็อกซ์ส่วนใหญ่ใช้
sandbox_id(หรือใช้ค่าMAILTRAP_SANDBOX_IDหากไม่มี; ตัวแปรสภาพแวดล้อมที่เลิกใช้แล้วMAILTRAP_TEST_INBOX_IDยังคงใช้งานได้)send-sandbox-email,get-sandbox-messagesและshow-sandbox-email-messageยังยอมรับtest_inbox_idแบบเดิมด้วยget-sandbox,update-sandbox,delete-sandboxและclean-sandboxใช้sandbox_idโดยรองรับinbox_idแบบเดิมด้วย (เป็น ID เดียวกัน; เครื่องมือข้อความไม่ใช้inbox_id) เครื่องมืออีเมลขาเข้าใช้inbox_idสำหรับผลิตภัณฑ์อื่น (อีเมลที่ได้รับ) ไม่ใช่แซนด์บ็อกซ์
get-sandbox-messages
ดึงรายการข้อความจากแซนด์บ็อกซ์ Mailtrap ของคุณ มีประโยชน์สำหรับตรวจสอบว่าได้รับอีเมลใดบ้างในแซนด์บ็อกซ์ระหว่างการทดสอบ
พารามิเตอร์:
sandbox_id(ไม่บังคับ): แนะนำให้ใช้ ID ของแซนด์บ็อกซ์ เว้นแต่จะตั้งค่าMAILTRAP_SANDBOX_IDtest_inbox_id(ไม่บังคับ): ชื่อแทนแบบเดิมของsandbox_idpage(ไม่บังคับ): หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ: 1)last_id(ไม่บังคับ): การแบ่งหน้าโดยใช้ ID ข้อความล่าสุด ส่งคืนข้อความหลังจาก ID ข้อความที่ระบุ (ขั้นต่ำ: 1)search(ไม่บังคับ): คำค้นหาสำหรับกรองข้อความ
[!NOTE] ไม่จำเป็นต้องระบุพารามิเตอร์ ID ของแซนด์บ็อกซ์เมื่อกำหนด
MAILTRAP_SANDBOX_IDหากไม่ได้ระบุsandbox_id,test_inbox_idหรือตัวแปรสภาพแวดล้อม การเรียกจะล้มเหลว การแบ่งหน้า: ใช้page,last_idหรือsearchตามต้องการ
show-sandbox-email-message
แสดงข้อมูลโดยละเอียดและเนื้อหาของข้อความอีเมลที่ระบุจากแซนด์บ็อกซ์ Mailtrap ของคุณ รวมถึงเนื้อหา HTML และข้อความ
พารามิเตอร์:
sandbox_id(ไม่บังคับ): แนะนำให้ใช้ ID ของแซนด์บ็อกซ์ เว้นแต่จะตั้งค่าMAILTRAP_SANDBOX_IDtest_inbox_id(ไม่บังคับ): ชื่อแทนแบบเดิมของsandbox_idmessage_id(จำเป็น): ID ของข้อความอีเมลในแซนด์บ็อกซ์ที่ต้องการดึงข้อมูล
[!NOTE] ใช้
get-sandbox-messagesก่อนเพื่อรับ ID ของข้อความ จากนั้นใช้เครื่องมือนี้เพื่อดูเนื้อหาทั้งหมด
list-sandbox-projects
แสดงรายการโปรเจ็กต์แซนด์บ็อกซ์ทั้งหมดและแซนด์บ็อกซ์ภายในโปรเจ็กต์เหล่านั้น
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-sandbox-project
สร้างโปรเจ็กต์แซนด์บ็อกซ์ใหม่เพื่อจัดกลุ่มแซนด์บ็อกซ์
พารามิเตอร์:
name(จำเป็น): ชื่อโปรเจ็กต์ (2–100 อักขระ)
get-sandbox-project
ดึงข้อมูลโปรเจ็กต์แซนด์บ็อกซ์ตาม ID รวมถึงแซนด์บ็อกซ์และจำนวนอีเมล
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจ็กต์ที่ต้องการดึงข้อมูล
update-sandbox-project
เปลี่ยนชื่อโปรเจ็กต์แซนด์บ็อกซ์ที่มีอยู่
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจ็กต์ที่ต้องการอัปเดตname(จำเป็น): ชื่อใหม่ของโปรเจ็กต์ (2–100 อักขระ)
delete-sandbox-project
ลบโปรเจ็กต์แซนด์บ็อกซ์และแซนด์บ็อกซ์ทั้งหมดภายในโปรเจ็กต์
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจ็กต์ที่ต้องการลบ
create-sandbox
สร้างแซนด์บ็อกซ์ใหม่ภายในโปรเจ็กต์ ส่งคืนข้อมูลรับรอง SMTP ของแซนด์บ็อกซ์ใหม่
พารามิเตอร์:
project_id(จำเป็น): ID ของโปรเจ็กต์ที่จะสร้างแซนด์บ็อกซ์name(จำเป็น): ชื่อแซนด์บ็อกซ์
get-sandbox
ดึงรายละเอียดแซนด์บ็อกซ์ รวมถึงข้อมูลรับรอง SMTP จำนวนอีเมล และสถานะ
พารามิเตอร์:
sandbox_id(ไม่บังคับ): ID ของแซนด์บ็อกซ์ จำเป็นต้องระบุ เว้นแต่จะตั้งค่าMAILTRAP_SANDBOX_IDinbox_id(ไม่บังคับ): ชื่อแทนแบบเดิมของsandbox_id
update-sandbox
อัปเดตชื่อหรือชื่อผู้ใช้อีเมลของแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ (ชื่อแทนแบบเดิม:inbox_id)name(ไม่บังคับ): ชื่อใหม่ของแซนด์บ็อกซ์email_username(ไม่บังคับ): ชื่อผู้ใช้อีเมลใหม่ของแซนด์บ็อกซ์
ต้องระบุอย่างน้อยหนึ่งรายการจาก name หรือ email_username
delete-sandbox
ลบแซนด์บ็อกซ์และข้อความทั้งหมดในแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ (ชื่อแทนแบบเดิม:inbox_id)
clean-sandbox
ลบข้อความทั้งหมดออกจากแซนด์บ็อกซ์โดยไม่ลบตัวแซนด์บ็อกซ์
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ (ชื่อแทนแบบเดิม:inbox_id)
list-sandboxes
แสดงรายการแซนด์บ็อกซ์ทั้งหมดที่โทเค็น API เข้าถึงได้ในทุกโปรเจ็กต์
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
mark-sandbox-as-read
ทำเครื่องหมายข้อความทั้งหมดในแซนด์บ็อกซ์ว่าอ่านแล้ว
พารามิเตอร์:
sandbox_id(จำเป็น): ID ของแซนด์บ็อกซ์ที่จะดำเนินการ
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-domains
แสดงรายการโดเมนและสถานะการยืนยัน DNS
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-domain
ดึงข้อมูลโดเมนตาม ID และสถานะการยืนยัน (รวมถึงระเบียน DNS) เลือกให้แสดงคำแนะนำการตั้งค่า DNS ได้โดยตั้งค่า include_setup_instructions เป็น true
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมน (ชื่อแทนแบบเดิม:sending_domain_id)include_setup_instructions(ไม่บังคับ): หากเป็นtrueให้เพิ่มคำแนะนำการตั้งค่า DNS ลงในคำตอบ ค่าเริ่มต้น:false
create-domain
สร้างโดเมนใหม่ หลังจากสร้างแล้ว ให้เพิ่มระเบียน DNS เพื่อยืนยันโดเมน (ใช้ get-domain พร้อม include_setup_instructions: true เพื่อดูระเบียน)
พารามิเตอร์:
domain_name(จำเป็น): ชื่อโดเมน (เช่น example.com)
update-domain
อัปเดตการตั้งค่าการติดตามและอีเมลขาเข้าของโดเมน
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมน (ชื่อแทนเดิม:sending_domain_id)open_tracking_enabled(ไม่บังคับ): ติดตามการเปิดอีเมลที่ส่งจากโดเมนนี้click_tracking_enabled(ไม่บังคับ): ติดตามการคลิกลิงก์ในอีเมลที่ส่งจากโดเมนนี้tracking_opt_out_enabled(ไม่บังคับ): เพิ่มลิงก์ยกเลิกการติดตามลงในอีเมลที่มีการติดตาม ต้องเปิดใช้การติดตามการเปิดหรือการคลิกauto_unsubscribe_link_enabled(ไม่บังคับ): เพิ่มลิงก์ยกเลิกการสมัครรับอีเมลโดยอัตโนมัติinbound_enabled(ไม่บังคับ): อนุญาตให้แนบโดเมนกับกล่องจดหมายขาเข้าในฐานะ catch-all
ต้องระบุการตั้งค่าอย่างน้อยหนึ่งรายการนอกเหนือจาก domain_id
delete-domain
ลบโดเมน
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมนที่จะลบ (ชื่อแทนเดิม:sending_domain_id)
send-domain-setup-instructions
ส่งคำแนะนำการตั้งค่า DNS ของโดเมนทางอีเมลไปยังที่อยู่ที่ระบุ มีประโยชน์สำหรับส่งต่อระเบียน DNS ให้เพื่อนร่วมทีม DevOps
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมน (ชื่อแทนเดิม:sending_domain_id)email(จำเป็น): ที่อยู่อีเมลสำหรับส่งคำแนะนำการตั้งค่า DNS
get-company-info
รับข้อมูลบริษัทของโดเมน ซึ่งใช้สำหรับการตรวจสอบการปฏิบัติตามข้อกำหนดของโดเมน
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมน (ชื่อแทนเดิม:sending_domain_id)
create-company-info
กำหนดข้อมูลบริษัทของโดเมน ซึ่งจำเป็นสำหรับการตรวจสอบการปฏิบัติตามข้อกำหนดของโดเมน
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมน (ชื่อแทนเดิม:sending_domain_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
อัปเดตข้อมูลบริษัทของโดเมน
พารามิเตอร์:
domain_id(จำเป็น): ID ของโดเมน (ชื่อแทนเดิม:sending_domain_id)- ทุกฟิลด์ของ create-company-info เป็นฟิลด์ไม่บังคับ ต้องระบุอย่างน้อยหนึ่งฟิลด์ ฟิลด์ที่ไม่ได้ระบุจะไม่มีการเปลี่ยนแปลง
list-suppressions
แสดงหรือค้นหารายการระงับ (การตีกลับถาวร การร้องเรียนสแปม การยกเลิกการสมัคร และการนำเข้าด้วยตนเอง) ส่งคืนผลลัพธ์สูงสุด 1000 รายการต่อการเรียกใช้
พารามิเตอร์:
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
แสดงที่อยู่อีเมลที่ยกเว้นจากการติดตามการเปิดและการคลิก ส่งคืนสูงสุด 1000 รายการต่อการเรียกใช้
พารามิเตอร์:
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
แสดงเว็บฮุกทั้งหมดที่กำหนดค่าไว้สำหรับบัญชี ส่งคืนระเบียนเว็บฮุกฉบับเต็มในรูปแบบ JSON
พารามิเตอร์:
- ไม่ต้องระบุพารามิเตอร์
get-webhook
รับเว็บฮุกหนึ่งรายการตาม ID ส่งคืนระเบียนเว็บฮุกฉบับเต็มในรูปแบบ JSON หมายเหตุ: จะไม่มีการส่งคืน signing_secret ที่นี่ — มีให้เฉพาะในการตอบกลับจาก create-webhook เท่านั้น
พารามิเตอร์:
webhook_id(จำเป็น): ID ของเว็บฮุกที่จะดึงข้อมูล
create-webhook
สร้างเว็บฮุก การตอบกลับจะมี signing_secret สำหรับตรวจสอบลายเซ็นของเพย์โหลดเว็บฮุก — ข้อมูลลับนี้จะส่งคืน เฉพาะตอนสร้าง เท่านั้น ดังนั้นให้จัดเก็บไว้ทันที หากทำหาย ให้สร้างเว็บฮุกใหม่
พารามิเตอร์:
url(จำเป็น): URL ที่ Mailtrap จะใช้ POST เหตุการณ์เว็บฮุกไป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 ของโดเมนที่จะกำหนดขอบเขตให้เว็บฮุกนี้inbound_inbox_id(ไม่บังคับ, เฉพาะinbound_receiving): ID ของกล่องจดหมายขาเข้าที่เชื่อมโยงกับเว็บฮุกนี้ หากไม่ระบุ จะใช้กับกล่องจดหมายทั้งหมดในบัญชี
update-webhook
อัปเดตฟิลด์ที่แก้ไขได้ของเว็บฮุก ไม่สามารถเปลี่ยน webhook_type, sending_stream และ domain_id หลังสร้างแล้ว — หากต้องการเปลี่ยนค่าเหล่านี้ ให้สร้างเว็บฮุกใหม่
พารามิเตอร์:
webhook_id(จำเป็น): ID ของเว็บฮุกที่จะอัปเดตurl(ไม่บังคับ): URL เว็บฮุกใหม่active(ไม่บังคับ, บูลีน): เปิดหรือปิดใช้งานเว็บฮุกpayload_format(ไม่บังคับ):"json"หรือ"jsonlines"event_types(ไม่บังคับ, เฉพาะemail_sending): อาร์เรย์ของdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectinbound_inbox_id(ไม่บังคับ, เฉพาะinbound_receiving): ID ของกล่องจดหมายขาเข้าที่เชื่อมโยงกับเว็บฮุกนี้
delete-webhook
ลบเว็บฮุกตาม ID อย่างถาวร ส่งคืนระเบียนเว็บฮุกที่ลบแล้ว
พารามิเตอร์:
webhook_id(จำเป็น): ID ของเว็บฮุกที่จะลบ
get-contact
รับข้อมูลผู้ติดต่อตาม ID หรืออีเมล ส่งคืนระเบียนผู้ติดต่อฉบับเต็ม (การเป็นสมาชิกของรายการ สถานะ และฟิลด์ที่กำหนดเอง)
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรือที่อยู่อีเมล
create-contact
สร้างผู้ติดต่อใหม่
พารามิเตอร์:
email(จำเป็น): ที่อยู่อีเมลfields(ไม่บังคับ): ค่าฟิลด์ที่กำหนดเอง โดยใช้ merge tag เป็นคีย์ (เช่นfirst_name) ค่าต้องเป็นสตริง ตัวเลข หรือบูลีนlist_ids(ไม่บังคับ): ID ของรายการผู้ติดต่อที่ต้องการสมัครให้ผู้ติดต่อนี้unsubscribed(ไม่บังคับ, บูลีน): สร้างผู้ติดต่อโดยมีสถานะ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(ไม่บังคับ, บูลีน): ตั้งค่าเป็นunsubscribed(จริง) หรือsubscribed(เท็จ)
delete-contact
ลบผู้ติดต่อตาม ID หรืออีเมลอย่างถาวร ส่งคืนระเบียนผู้ติดต่อที่ลบแล้วเมื่อ API ส่งข้อมูลดังกล่าวกลับมา มิฉะนั้นจะส่งคืนเพย์โหลดการยืนยัน
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรืออีเมล
create-contact-event
บันทึกเหตุการณ์ของผู้ติดต่อ โดยระบุผู้ติดต่อตาม ID หรืออีเมล ใช้เพื่อเรียกใช้ระบบอัตโนมัติของรายการผู้ติดต่อ
พารามิเตอร์:
contact_identifier(จำเป็น): ID ของผู้ติดต่อหรืออีเมลname(จำเป็น): ชื่อเหตุการณ์ (ตรงกับทริกเกอร์ของระบบอัตโนมัติ)params(จำเป็น): ออบเจ็กต์ของคู่คีย์/ค่าที่กำหนดเอง ค่าอาจเป็นสตริง ตัวเลข บูลีน หรือ 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 ต้องไม่ซ้ำกันภายในบัญชี และใช้เป็นชื่อ placeholder ในตัวแปรเทมเพลต
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดง (เช่น "ชื่อ")merge_tag(จำเป็น): ชื่อ placeholder ที่ไม่ซ้ำกัน (เช่น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 เป็นคีย์ (ค่าต้องเป็นสตริงหรือตัวเลข)list_ids_included(ไม่บังคับ): ID ของรายการที่จะเพิ่มผู้ติดต่อลงไปlist_ids_excluded(ไม่บังคับ): ID ของรายการที่จะนำผู้ติดต่อออก
get-contact-import
รับสถานะของงานนำเข้าผู้ติดต่อ (created/started/finished/failed) พร้อมจำนวนที่สร้าง/อัปเดต/เกินขีดจำกัด
พารามิเตอร์:
import_id(จำเป็น): ID ของงานนำเข้าผู้ติดต่อ
create-contact-export
ส่งออกผู้ติดต่อที่ตรงกับตัวกรองซึ่งเชื่อมด้วย AND ส่งคืนระเบียนงานส่งออก ตรวจสอบสถานะด้วย 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(จำเป็น): ค่าที่ใช้เปรียบเทียบ (สตริง ตัวเลข บูลีน หรืออาร์เรย์)
get-contact-export
ดูสถานะของงานส่งออกข้อมูลผู้ติดต่อ เมื่อ status เป็น finished ฟิลด์ url จะมีลิงก์ดาวน์โหลด CSV
พารามิเตอร์:
export_id(จำเป็น): ID ของงานส่งออกข้อมูลผู้ติดต่อ
list-email-campaigns
แสดงแคมเปญอีเมลของบัญชี โดยเรียงจากใหม่ไปเก่า พร้อมการแบ่งหน้าด้วย page-token เลือกกรองตามชื่อได้ด้วย search
พารามิเตอร์:
token(ไม่บังคับ): หมายเลขหน้าที่ต้องการเรียกดู (การแบ่งหน้าด้วย page-token) ค่าเริ่มต้นคือ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 ของโดเมนที่ยืนยันแล้วซึ่งใช้กับแคมเปญ ตามที่ส่งคืนโดยlist-domainsfrom_local_part(จำเป็น): ส่วน local (ก่อน @) ของที่อยู่ Fromtemplate_attributes(จำเป็น): เทมเพลตอีเมลแบบอินไลน์ ประกอบด้วย:subject(จำเป็น): บรรทัดหัวเรื่องอีเมล (สูงสุด 255 อักขระ) รองรับ merge tags เช่นHi {{first_name}}body_html(ไม่บังคับ): เนื้อหา HTML (การออกแบบ) จำเป็นก่อนกำหนดเวลาหรือเริ่มแคมเปญได้ ใส่ลิงก์ยกเลิกการสมัครผ่าน anchor ที่มีhrefซึ่งมี placeholder__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 ปัจจุบันเข้าถึงได้ พร้อมระดับการเข้าถึงของแต่ละบัญชี ใช้งานได้โดยไม่ต้องมี MAILTRAP_ACCOUNT_ID จึงใช้ค้นหา ID บัญชีของคุณได้
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
get-billing-usage
ดูการใช้งานในรอบบิลปัจจุบันของบัญชี ได้แก่ แผนการส่งและการทดสอบ ขีดจำกัด และจำนวนที่ใช้อยู่ในปัจจุบัน
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
list-account-accesses
แสดงสิทธิ์การเข้าถึงบัญชี (ผู้ใช้ คำเชิญ โทเค็น API) เลือกกรองผลลัพธ์ให้แคบลงตามทรัพยากรที่ต้องการได้ ต้องมีสิทธิ์ผู้ดูแลระบบ/เจ้าของบัญชี
พารามิเตอร์:
domain_uuids(ไม่บังคับ): กรองตาม UUID ของโดเมน (อาร์เรย์ของสตริง)inbox_ids(ไม่บังคับ): กรองตาม ID ของแซนด์บ็อกซ์ (อาร์เรย์ของสตริง)project_ids(ไม่บังคับ): กรองตาม ID ของโปรเจกต์แซนด์บ็อกซ์ (อาร์เรย์ของสตริง)
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 ทั้งหมดของบัญชี
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-api-token
สร้างโทเค็น API ใหม่ การตอบกลับจะมีค่า token ลับ — นี่เป็น ครั้งเดียวเท่านั้น ที่จะส่งคืนโทเค็นฉบับเต็ม จึงควรจัดเก็บไว้ทันที หากทำหาย ให้สร้างโทเค็นใหม่
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดงของโทเค็นexpires_at(ไม่บังคับ): วันหมดอายุของโทเค็นในรูปแบบวัน-เวลา ISO 8601 หากไม่ระบุ จะใช้ค่าเริ่มต้นของเซิร์ฟเวอร์ (1 ปี) หากต้องการให้โทเค็นไม่มีวันหมดอายุ ให้ส่งnullอย่างชัดเจน ระบบจะปฏิเสธค่าที่เป็นอดีตหรือเกิน 5 ปีนับจากปัจจุบันresources(ไม่บังคับ): อาร์เรย์ของสิทธิ์ทรัพยากรเพื่อจำกัดขอบเขตของโทเค็น แต่ละรายการมี:resource_type(จำเป็น): หนึ่งในaccount,project,inbox,domain,billingresource_id(จำเป็น): ID ของทรัพยากรaccess_level(จำเป็น):100(ผู้ดูแลระบบ) หรือ10(ผู้ดู)
get-api-token
ดูโทเค็น API ตาม ID ส่งคืนเฉพาะข้อมูลเมตา — จะไม่ส่งคืนค่าโทเค็นลับที่นี่ (รับได้จาก create-api-token / reset-api-token เท่านั้น)
พารามิเตอร์:
api_token_id(จำเป็น): ID ของโทเค็น API
reset-api-token
รีเซ็ต (หมุนเวียน) โทเค็น API ตาม ID การตอบกลับจะมีค่า token ลับ ค่าใหม่ — ส่งคืนเฉพาะในการเรียกนี้ จึงควรจัดเก็บไว้ทันที โทเค็นเดิมจะถูกทำให้ใช้ไม่ได้
พารามิเตอร์:
api_token_id(จำเป็น): ID ของโทเค็น API ที่ต้องการรีเซ็ตexpires_at(ไม่บังคับ): วันหมดอายุของโทเค็นใหม่ในรูปแบบวัน-เวลา ISO 8601 หากไม่ระบุ จะใช้ค่าเริ่มต้นของเซิร์ฟเวอร์ (1 ปี) หากต้องการให้โทเค็นไม่มีวันหมดอายุ ให้ส่งnullอย่างชัดเจน ระบบจะปฏิเสธค่าที่เป็นอดีตหรือเกิน 5 ปีนับจากปัจจุบัน
delete-api-token
ลบโทเค็น API ตาม ID อย่างถาวร หลังจากลบแล้ว โทเค็นจะใช้ยืนยันตัวตนไม่ได้อีกต่อไป
พารามิเตอร์:
api_token_id(จำเป็น): ID ของโทเค็น API ที่ต้องการลบ
list-sub-accounts
แสดงบัญชีย่อยในองค์กร ต้องมีตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์จัดการบัญชีย่อย
พารามิเตอร์:
- ไม่ต้องใช้พารามิเตอร์
create-sub-account
สร้างบัญชีย่อยใหม่ภายใต้องค์กร ต้องมีตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์จัดการบัญชีย่อย
พารามิเตอร์:
name(จำเป็น): ชื่อที่แสดงของบัญชีย่อยใหม่
delete-sub-account
ลบบัญชีย่อยตาม ID อย่างถาวร พร้อมลบข้อมูลทั้งหมดของบัญชีนั้น การลบบัญชีย่อยรายการสุดท้ายจะลบองค์กรด้วย การเรียกซ้ำจะส่งคืน 404 หากมีการลบบัญชีย่อยเดียวกันพร้อมกัน จะส่งคืน 409 ต้องมีตัวแปรสภาพแวดล้อม MAILTRAP_ORGANIZATION_ID และสิทธิ์ผู้ดูแลระบบขององค์กร อีกทั้งองค์กรต้องเปิดใช้ฟีเจอร์ Organization & Sub-accounts (มิฉะนั้นจะส่งคืน 403)
พารามิเตอร์:
sub_account_id(จำเป็น): ID ของบัญชีย่อยที่ต้องการลบ
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(ไม่บังคับ): ผูกกับโดเมนที่กำหนดเอง (กล่องจดหมายขาเข้าที่รับอีเมลทุกฉบับ) เว้นว่างไว้สำหรับกล่องจดหมายขาเข้าที่โฮสต์โดย Mailtrap
update-inbound-inbox
เปลี่ยนชื่อกล่องจดหมายขาเข้า
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าname(จำเป็น): ชื่อใหม่ของกล่องจดหมายขาเข้า
delete-inbound-inbox
ลบกล่องจดหมายขาเข้าอย่างถาวร
พารามิเตอร์:
folder_id(จำเป็น): ID ของโฟลเดอร์ขาเข้าinbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้า
list-inbound-messages
แสดงรายการข้อความที่ได้รับในกล่องจดหมายขาเข้า (แบ่งหน้าด้วยเคอร์เซอร์) ส่งคืนสรุปที่จัดรูปแบบแล้ว พร้อมคำแนะนำสำหรับหน้าถัดไปเมื่อมีผลลัพธ์เพิ่มเติม
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าlast_id(ไม่บังคับ): เคอร์เซอร์แบ่งหน้าจาก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
แสดงรายการเธรดการสนทนาในกล่องจดหมายขาเข้า (แบ่งหน้าด้วยเคอร์เซอร์) โดยเลือกกรองตาม search ได้ ส่งคืนสรุปที่จัดรูปแบบแล้ว พร้อมคำแนะนำสำหรับหน้าถัดไปเมื่อมีผลลัพธ์เพิ่มเติม
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าlast_id(ไม่บังคับ): เคอร์เซอร์แบ่งหน้าจากlast_idของการตอบกลับก่อนหน้าsearch(ไม่บังคับ): ข้อความที่ไม่แยกตัวพิมพ์เล็กและใหญ่ ซึ่งใช้ค้นหาในหัวเรื่องของเธรดและที่อยู่ from/to/cc/bcc ของข้อความในเธรด ส่งค่าเดิมเมื่อแบ่งหน้า
get-inbound-thread
ดึงเธรดขาเข้าหนึ่งรายการพร้อมข้อความที่ฝังอยู่ภายใน (เรียงจากเก่าสุดก่อน) ส่งคืนระเบียนเธรดฉบับเต็มในรูปแบบ JSON
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าthread_id(จำเป็น): ID ของเธรด
delete-inbound-thread
ลบเธรดขาเข้าอย่างถาวร
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าthread_id(จำเป็น): ID ของเธรด
list-inbound-forward-rules
แสดงรายการกฎการส่งต่อของกล่องจดหมายขาเข้า ส่งคืนสรุปที่จัดรูปแบบแล้ว
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้า
get-inbound-forward-rule
ดึงกฎการส่งต่อขาเข้าหนึ่งรายการตาม ID ส่งคืนระเบียนกฎฉบับเต็ม รวมถึงเงื่อนไขและปลายทาง ในรูปแบบ JSON
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าforward_rule_id(จำเป็น): ID ของกฎการส่งต่อ
create-inbound-forward-rule
สร้างกฎการส่งต่อในกล่องจดหมายขาเข้า ข้อความที่ได้รับซึ่งตรงกับเงื่อนไขทั้งหมดจะถูกส่งต่อไปยังปลายทางของกฎ
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าname(จำเป็น): ชื่อกฎ ซึ่งต้องไม่ซ้ำกันภายในกล่องจดหมายขาเข้าconditions(ไม่บังคับ): อาร์เรย์ของ{ match_type, operator, value?, header_key? }โดยmatch_typeคือsender,recipientหรือheader;operatorคือequal,not_equal,contains,starts_with,ends_with,emptyหรือnot_empty(empty/not_emptyใช้ได้เฉพาะกับheaderและไม่รับvalue); ต้องระบุheader_keyสำหรับheaderเว้นว่างหรือส่ง[]เพื่อให้ตรงกับทุกข้อความdestinations(ไม่บังคับ): อาร์เรย์ของ{ email }สำหรับส่งต่อข้อความที่ตรงกัน
update-inbound-forward-rule
อัปเดตกฎการส่งต่อขาเข้า โดยจะเปลี่ยนเฉพาะฟิลด์ที่ระบุ หากระบุอาร์เรย์ conditions หรือ destinations ระบบจะแทนที่ชุดทั้งหมด
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าforward_rule_id(จำเป็น): ID ของกฎการส่งต่อname(ไม่บังคับ): ชื่อกฎใหม่conditions(ไม่บังคับ): ชุดเงื่อนไขที่ใช้แทนชุดเดิม (มีรูปแบบเดียวกับตอนสร้าง);[]จะลบเงื่อนไขทั้งหมด ทำให้กฎตรงกับทุกข้อความdestinations(ไม่บังคับ): ชุดปลายทางที่ใช้แทนชุดเดิม;[]จะลบปลายทางทั้งหมด
delete-inbound-forward-rule
ลบกฎการส่งต่อขาเข้าอย่างถาวร
พารามิเตอร์:
inbox_id(จำเป็น): ID ของกล่องจดหมายขาเข้าforward_rule_id(จำเป็น): ID ของกฎการส่งต่อ
การพัฒนา
- โคลนที่เก็บ:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- ติดตั้ง dependencies:
npm install
การกำหนดค่าด้วย Claude Desktop หรือ Cursor
[!TIP] ดูตำแหน่งของไฟล์กำหนดค่าได้ในส่วน การตั้งค่า
เพิ่มการกำหนดค่าต่อไปนี้:
{
"mcpServers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
หากคุณใช้ asdf เพื่อจัดการ Node.js ควรใช้พาธแบบสัมบูรณ์ไปยังไฟล์ปฏิบัติการ:
(ตัวอย่างสำหรับ 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": "22.14.0",
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
VS Code
[!TIP] ดูตำแหน่งของไฟล์กำหนดค่าได้ในส่วน การตั้งค่า
{
"mcp": {
"servers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
}
การทดสอบ
เรียกใช้เครื่องมือกับ Mailtrap จริง
มีสองวิธีในการทดสอบเครื่องมือแบบครบวงจรกับบัญชี Mailtrap จริง: ใช้ UI บนเบราว์เซอร์ของ MCP Inspector เพื่อสำรวจแบบโต้ตอบ หรือใช้โหมด CLI เพื่อเรียกใช้ครั้งเดียวจากเชลล์
ทั้งสองวิธีต้องสร้าง bundle ก่อน:
npm run build
และส่งออก MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID ในเชลล์ของคุณ (สคริปต์ mcp:cli จะส่งต่อทั้งสองค่าไปยังเซิร์ฟเวอร์ที่เรียกใช้)
UI บนเบราว์เซอร์
npm run dev
Inspector จะแสดง URL เช่น http://localhost:6274 เปิด URL นั้น สลับไปที่แท็บ 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-domain-setup-instructions \
--tool-arg 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 ไม่ทำงาน: ระบุ
sandbox_idในการเรียกใช้เครื่องมือ (หรือtest_inbox_idแบบเดิมในเครื่องมือส่ง/แสดงรายการ/แสดงข้อความ) หรือตั้งค่า envMAILTRAP_SANDBOX_ID - ข้อผิดพลาดหมดเวลา: ตรวจสอบการเชื่อมต่อเครือข่ายและสถานะ API ของ Mailtrap
- ข้อผิดพลาดในการตรวจสอบความถูกต้อง: ตรวจสอบว่าได้ระบุฟิลด์ที่จำเป็นทั้งหมดแล้ว
การมีส่วนร่วม
ยินดีรับรายงานข้อบกพร่องและ pull request ผ่าน GitHub โปรเจกต์นี้มุ่งหมายให้เป็นพื้นที่ที่ปลอดภัยและเปิดกว้างสำหรับการทำงานร่วมกัน และคาดหวังให้ผู้มีส่วนร่วมปฏิบัติตาม หลักจรรยาบรรณ
ใบอนุญาต
แพ็กเกจนี้เผยแพร่เป็นโอเพนซอร์สภายใต้เงื่อนไขของ MIT License
หลักจรรยาบรรณ
ทุกคนที่มีปฏิสัมพันธ์กับ codebase, ตัวติดตามปัญหา, ห้องแชต และรายชื่ออีเมลของโปรเจกต์ Mailtrap ควรปฏิบัติตาม หลักจรรยาบรรณ