Resend CLI
Resend CLI คือเครื่องมือบรรทัดคำสั่งอย่างเป็นทางการสำหรับ Resend ซึ่งเป็นแพลตฟอร์มอีเมลสำหรับนักพัฒนา ติดตั้งได้ง่ายด้วย npm install -g resend-cli หรือ brew install resend/cli/resend ยืนยันตัวตนด้วย resend login แล้วเริ่มส่งอีเมล จัดการโดเมน และควบคุมโครงสร้างพื้นฐานอีเมลของคุณอัตโนมัติจากเทอร์มินัลหรือ CI/CD pipeline
Resend คืออะไร?
Resend คือ Email API สำหรับนักพัฒนา เชื่อมต่อโดเมน รับ API key แล้วส่งอีเมลแบบ Transactional ได้ทันที เช่น การรีเซ็ตรหัสผ่าน, อีเมลยืนยันการสั่งซื้อ หรือ onboarding อัตโนมัติ
เมื่อวันที่ 13 มีนาคม 2026, Zeno Rocha ผู้ก่อตั้ง Resend ได้เปิดตัว Resend CLI ที่นำโครงสร้างพื้นฐานเดียวกันนี้มาสู่ CLI มี 53 คำสั่งครอบคลุม 13 ทรัพยากร เขียนด้วย TypeScript, โอเพนซอร์ส (MIT) และรองรับ 3 กลุ่มผู้ใช้:
- มนุษย์: โต้ตอบผ่าน prompt, ตาราง, ตั้งเวลาภาษาธรรมชาติ
- เอเจนต์ AI: โหมด JSON, idempotency key, ตรวจจับเอเจนต์อัตโนมัติ
- CI/CD: ใช้ env variable, flag สำหรับ scripting, exit code ที่เชื่อถือได้
💡 หากคุณสร้างแอปที่ต้องส่งอีเมล ต้องมีวิธีทดสอบ Email API ก่อนใช้งานจริง Apidog มอบ UI ฟรีในการทดสอบ REST API รวมถึง Resend Email API โดยไม่ต้องเขียนโค้ด นำเข้า Resend OpenAPI spec, กำหนดค่าสภาพแวดล้อม แล้วรันชุดทดสอบทั้งหมดได้ในที่เดียว
การติดตั้ง Resend CLI
เลือกวิธีติดตั้งที่เหมาะกับระบบของคุณ
ผ่าน cURL (ไบนารีสแตนด์อโลน ไม่ต้องใช้ Node.js)
curl -fsSL https://resend.com/install.sh | bash
จะดาวน์โหลดไบนารีสำหรับ OS ของคุณและเพิ่มใน PATH โดยไม่ต้องมี Node.js
ผ่าน npm
npm install -g resend-cli
ต้องใช้ Node.js 20+ หลังติดตั้งตรวจสอบว่าใช้งานได้ด้วย
resend --version
ผ่าน Homebrew (macOS และ Linux)
brew install resend/cli/resend
เหมาะกับ macOS และ Linux Homebrew จะจัดการอัปเดตให้อัตโนมัติ
ผ่าน PowerShell (Windows)
irm https://resend.com/install.ps1 | iex
หรือดาวน์โหลด .exe โดยตรงจาก GitHub Releases
สำหรับการพัฒนาในเครื่อง
ต้องมี Node.js 20+ และ pnpm:
git clone https://github.com/resend/resend-cli.git
cd resend-cli
pnpm install
pnpm build # ผลลัพธ์ ./dist/cli.cjs
pnpm build:bin # ได้ไบนารีเนทีฟที่ ./dist/resend
การยืนยันตัวตนบัญชีของคุณ
เชื่อมต่อ CLI กับบัญชี Resend:
resend login
จะเปิด browser ให้สร้าง API key ใน Resend dashboard และเก็บ credential ที่ ~/.config/resend/credentials.json (permission 0600)
สำหรับ CI/CD หรือสคริปต์ ให้ส่งคีย์โดยตรง:
resend login --key re_xxxxxxxxxxxxx
CLI จะหา API key ตามลำดับ:
- Flag
--api-key - Env var
RESEND_API_KEY - Credential file ที่เก็บไว้
แนะนำ: ใน CI ตั้ง RESEND_API_KEY เป็น secret environment variable:
RESEND_API_KEY=re_xxx resend emails send --from builds@yourco.com --to dev@yourco.com --subject "Build passed" --text "All tests green."
การรองรับหลายบัญชี
สลับโปรไฟล์ได้โดยไม่ต้อง logout:
resend auth switch
หรือระบุโปรไฟล์ในคำสั่ง:
resend <command> --profile production
การส่งอีเมลฉบับแรกของคุณ
ส่งอีเมลด้วย resend emails send ระบุ from, to, subject, และเนื้อหา
ส่งอีเมลแบบข้อความล้วน
resend emails send \
--from "you@yourdomain.com" \
--to recipient@example.com \
--subject "Hello from the CLI" \
--text "This is a test email sent from the Resend CLI."
ส่งอีเมลแบบ HTML
resend emails send \
--from "team@yourco.com" \
--to user@example.com \
--subject "Your order is confirmed" \
--html "<h1>Order confirmed</h1><p>Thanks for your purchase.</p>"
หรือใช้ไฟล์ HTML:
resend emails send \
--from "team@yourco.com" \
--to user@example.com \
--subject "Welcome aboard" \
--html-file ./templates/welcome.html
การตั้งเวลาส่ง
ส่งอีเมลแบบตั้งเวลาได้ทั้งวลีภาษามนุษย์และ ISO 8601:
resend emails send \
--from "you@yourco.com" \
--to user@example.com \
--subject "Scheduled check-in" \
--text "Just checking in." \
--schedule "tomorrow at 9am"
รองรับ "in 1 hour", "next Monday at 3pm" หรือ ISO timestamp
บันทึก ID อีเมล
ใช้ pipe + jq เพื่อดึง email id:
EMAIL_ID=$(resend emails send \
--from a@acme.com \
--to b@acme.com \
--subject "Test" \
--text "Hi" | jq -r '.data.id')
echo "Sent email: $EMAIL_ID"
ยกเลิกหรืออัปเดตอีเมลที่ตั้งเวลาไว้
resend emails cancel $EMAIL_ID
resend emails update $EMAIL_ID --schedule "next Monday at 10am"
แสดงรายการอีเมลล่าสุด
resend emails list
ส่งแบบเป็นชุดสูงสุด 100 ฉบับ
สร้าง emails.json:
[
{ "from": "you@yourco.com", "to": "alice@example.com", "subject": "Hi Alice", "text": "Hello!" },
{ "from": "you@yourco.com", "to": "bob@example.com", "subject": "Hi Bob", "text": "Hello!" }
]
ส่ง batch:
resend emails send-batch --file emails.json
หมายเหตุ: ทุก batch request นับเป็น 1 API call (สูงสุด 100 อีเมล/ครั้ง)
การจัดการโดเมนและ API Keys
ต้องมีโดเมนที่ยืนยันแล้วก่อนส่งอีเมล
เพิ่มโดเมน
resend domains create --name yourdomain.com --region us-east-1
ภูมิภาค: us-east-1, eu-west-1, sa-east-1, ap-northeast-1
ยืนยันระเบียน DNS
Resend จะให้ SPF, DKIM, DMARC record ไปเพิ่มใน DNS provider ของคุณ แล้วรัน:
resend domains verify --id <domain-id>
ตรวจสอบสถานะ:
resend domains get --id <domain-id>
กำหนดค่าการติดตามและ TLS
resend domains configure --id <domain-id>
ตั้งค่าการติดตามการเปิด, คลิก, และ custom DKIM
แสดงรายการโดเมนทั้งหมด
resend domains list
จัดการ API Keys
สร้าง key แบบกำหนดขอบเขต:
resend api-keys create
resend api-keys list
resend api-keys delete --id <key-id>
คีย์แบบมีขอบเขตจะจำกัดสิทธิ์แต่ละ integration
คุณสมบัติขั้นสูง: การออกอากาศ, เว็บฮุก, เทมเพลต
Resend CLI รองรับการส่งอีเมลแบบออกอากาศ, จัดการเว็บฮุก, และเทมเพลต HTML
การออกอากาศ
resend broadcasts create
resend broadcasts send --id <broadcast-id>
resend broadcasts schedule --id <broadcast-id> --date "next Monday at 10am"
เว็บฮุก
resend webhooks create
resend webhooks list
พัฒนาในเครื่องด้วย:
resend webhooks listen --forward-to http://localhost:3000/webhooks/resend
รองรับ event 17 ประเภท เช่น email.sent, email.delivered, email.opened
เทมเพลต
resend templates create
ใช้ {{variable_name}} สำหรับตัวแปร
ผู้ติดต่อและกลุ่มเป้าหมาย
resend contacts create --audience-id <id> --email user@example.com --first-name "Alice"
resend contacts list --audience-id <id>
resend contacts update --id <contact-id> --unsubscribed false
เรียกใช้การวินิจฉัย
resend doctor
ตรวจสอบสภาพแวดล้อม, API key, โดเมน, และตรวจจับ AI agent เช่น Cursor, Claude Desktop, VS Code, OpenClaw
การใช้ Resend CLI ใน CI/CD pipelines
CLI ออกแบบมาสำหรับ automation โดยเฉพาะ
เอาต์พุตที่เครื่องอ่านได้
ส่งผ่าน pipe หรือใช้ --json เพื่อให้ได้ JSON structured output:
resend emails send --from a@co.com --to b@co.com --subject "Deploy" --text "Done" --json
หรือ suppress output ทั้งหมดยกเว้น JSON:
resend emails list --quiet | jq '.[0].id'
ยืนยันการดำเนินการแบบ destructive อัตโนมัติ
resend api-keys delete --id <key-id> --yes
ตัวอย่าง GitHub Actions
- name: ส่งการแจ้งเตือนการปรับใช้
env:
RESEND_API_KEY: ${{ secrets.RESEND_API_KEY }}
run: |
resend emails send \
--from deploys@yourco.com \
--to team@yourco.com \
--subject "ปรับใช้สู่ Production: ${{ github.sha }}" \
--text "ปรับใช้คอมมิต ${{ github.sha }} สู่ production แล้ว"
ข้อจำกัดอัตรา (Rate limits)
Resend API จำกัด 2 คำขอต่อวินาทีรวมทุก key ในทีม ส่ง batch ด้วย send-batch (สูงสุด 100 อีเมล/ครั้ง) แทนการวนลูปส่งทีละรายการ
การทดสอบ Email API ของคุณด้วย Apidog
Resend CLI เหมาะสำหรับการใช้งานแบบโต้ตอบหรือ scripting แต่ถ้าต้องทดสอบหรือ explore REST API ของ Resend โดยตรง สามารถใช้ Apidog ได้ฟรี
- นำเข้า Resend API spec: ดาวน์โหลดจาก resend.com/docs แล้วนำเข้าใน Apidog เพื่อดู endpoints, request/response schema
-
ตั้งค่าสภาพแวดล้อม: สร้าง environment สำหรับ dev/prod, เก็บ
RESEND_API_KEYเป็นตัวแปร แล้วอ้างใน request ด้วย{{RESEND_API_KEY}} -
ทดสอบ logic การส่ง: เรียก
POST /emailsใน Apidog พร้อม payload ที่ต้องการ ตรวจสอบ response, email id, และ edge cases - ทำให้การทดสอบเป็นอัตโนมัติ: ใช้ test runner ของ Apidog สร้างชุดทดสอบหลายขั้นตอนได้โดยไม่ต้องเขียนโค้ด
ช่วยให้คุณตรวจจับ bug integration ก่อนขึ้น production เมื่อใช้ร่วมกับ Resend CLI คุณจะได้ทั้ง CLI ที่รวดเร็วและ API testing environment ที่ครบเครื่อง
ราคา Resend
CLI ฟรีและโอเพนซอร์ส ราคาจะขึ้นอยู่กับแพลตฟอร์ม Resend:
| แผน | ราคา | อีเมลรายเดือน | ขีดจำกัดรายวัน | การเก็บรักษาบันทึก |
|---|---|---|---|---|
| ฟรี | $0/เดือน | 3,000 | 100/วัน | 1 วัน |
| Pro | $20/เดือน | 50,000 | ไม่มีขีดจำกัด | 3 วัน |
| Scale | $90/เดือน | 100,000 | ไม่มีขีดจำกัด | 7 วัน |
| Enterprise | กำหนดเอง | กำหนดเอง | กำหนดเอง | กำหนดเอง |
แผนฟรี:
- จำกัด 100 อีเมล/วัน เหมาะสำหรับทดสอบและโปรเจกต์เล็ก
- การวิเคราะห์ (open/click tracking) ใช้ได้เฉพาะแผนเสียเงิน
- เก็บบันทึกได้ 1 วัน
- Rate limit 2 req/sec ทุกแผน ใช้ร่วมกันทั้งทีม
- แผนเสียเงินใช้งานเกินโควต้าได้สูงสุด 5 เท่าของโควต้า
Dedicated IPs มีให้เฉพาะแผน Scale ขึ้นไป ($30/เดือน) เมื่อส่งเกิน 500 อีเมล/วัน
คำถามที่พบบ่อย
Q: จำเป็นต้องมี Node.js เพื่อติดตั้ง Resend CLI หรือไม่?
A: ไม่จำเป็นถ้าติดตั้งด้วย cURL หรือ Homebrew แต่ถ้าใช้ npm ต้องมี Node.js 20+
Q: ทำไมส่งจาก email address ใดก็ไม่ได้?
A: ต้องใช้โดเมนที่ยืนยันแล้ว, เพิ่ม DNS record ที่ Resend กำหนด (SPF, DKIM, DMARC) อีเมลฟรีอย่าง Gmail ใช้เป็น from ไม่ได้
Q: ส่งไปยังอีเมล address ใดก็ได้ในแผนฟรีหรือไม่?
A: ได้ ไม่จำกัดผู้รับ แต่จำกัด 3,000 อีเมล/เดือน และ 100/วัน
Q: การตั้งเวลาด้วยภาษามนุษย์ CLI ทำงานอย่างไร?
A: รองรับวลีเช่น "tomorrow at 9am", "in 2 hours" หรือ ISO8601 เวลายึดตาม timezone ของเครื่อง
Q: ส่งเอาต์พุตผ่าน pipe CLI จะเป็นอะไร?
A: จะออก JSON mode อัตโนมัติ ไม่มี spinner หรือ prompt ไม่ต้องระบุ --json
Q: ใช้ CLI กับหลายบัญชี Resend ได้ไหม?
A: ได้ ใช้ resend login หลายครั้งเพื่อสร้างหลายโปรไฟล์ แล้วสลับด้วย resend auth switch หรือ --profile <name>
Q: Resend CLI เป็นโอเพนซอร์ส?
A: ใช่ MIT license ดูที่ github.com/resend/resend-cli
Q: ต่างกันยังไงระหว่าง --quiet กับ --json?
A: ทั้งคู่ให้ JSON output, --json บังคับ JSON, --quiet ปิด output ที่ไม่ใช่ข้อมูล (spinner, progress) โดยอัตโนมัติ
Top comments (0)