أداة سطر الأوامر (CLI) الخاصة بـ Resend هي الأداة الرسمية لـ Resend، وهي منصة بريد إلكتروني مصممة للمطورين. يمكنك تثبيتها باستخدام npm install -g resend-cli أو brew install resend/cli/resend، والمصادقة عبر resend login، ثم إرسال رسائل البريد الإلكتروني وإدارة النطاقات وأتمتة البنية التحتية لبريدك الإلكتروني من أي طرفية أو خط أنابيب CI/CD.
ما هو Resend؟
Resend هو واجهة برمجة تطبيقات للبريد الإلكتروني مخصصة للمطورين. تقوم بربط نطاقك، وتحصل على مفتاح API، وتبدأ في إرسال رسائل البريد الإلكتروني للمعاملات من تطبيقك: إعادة تعيين كلمات المرور، تأكيدات الطلبات، سلاسل الإعداد، أي شيء يتم تشغيله برمجيًا.
في 13 مارس 2026، أطلق مؤسس Resend، زينو روشا، أداة Resend CLI، جالبًا نفس هذه البنية التحتية إلى الطرفية. تحتوي أداة سطر الأوامر (CLI) على 53 أمرًا عبر 13 موردًا. وهي مكتوبة بلغة TypeScript، ومفتوحة المصدر بالكامل بموجب ترخيص MIT، وتعمل لثلاثة جماهير مختلفة:
- البشر: مطالبات تفاعلية، مخرجات جدولية قابلة للقراءة، جدولة باللغة الطبيعية ("غدًا الساعة 9 صباحًا")
- وكلاء الذكاء الاصطناعي: وضع إخراج JSON، مفاتيح التحكم في التكرار، الكشف التلقائي عن الوكلاء
- خطوط أنابيب CI/CD: مصادقة عبر متغيرات البيئة، علامات قابلة للبرمجة، رموز خروج متناسقة
تثبيت Resend CLI
هناك أربع طرق لتثبيت أداة سطر الأوامر (CLI). اختر الطريقة التي تناسب إعداداتك.
عبر cURL (ملف ثنائي مستقل، لا يتطلب Node.js)
curl -fsSL https://resend.com/install.sh | bash
يقوم هذا بتنزيل ملف ثنائي مُجهز مسبقًا لنظام التشغيل الخاص بك ويضعه في مسار النظام (PATH). لا يلزم وجود Node.js.
عبر npm
npm install -g resend-cli
يتطلب Node.js الإصدار 20 أو أحدث. بعد التثبيت، تأكد من عمله:
resend --version
عبر Homebrew (macOS و Linux)
brew install resend/cli/resend
هذا هو الخيار الأبسط على macOS. يتعامل Homebrew مع التحديثات تلقائيًا.
عبر PowerShell (ويندوز)
irm https://resend.com/install.ps1 | iex
يمكنك أيضًا تنزيل الملفات الثنائية .exe مباشرة من صفحة إصدارات GitHub.
للتطوير المحلي
إذا كنت ترغب في المساهمة في أداة سطر الأوامر (CLI) أو البناء من المصدر، فستحتاج إلى Node.js 20+ و pnpm:
git clone https://github.com/resend/resend-cli.git
cd resend-cli
pnpm install
pnpm build # outputs ./dist/cli.cjs
pnpm build:bin # native binary at ./dist/resend
مصادقة حسابك
شغل resend login لربط أداة سطر الأوامر (CLI) بحسابك في Resend:
resend login
يفتح هذا متصفحك، ويرشدك خلال إنشاء مفتاح API في لوحة تحكم Resend، ويخزن بيانات الاعتماد الخاصة بك محليًا في ~/.config/resend/credentials.json مع أذونات مقيدة 0600.
بالنسبة للبيئات غير التفاعلية (CI/CD، السكريبتات)، تخطى تدفق المتصفح ومرر مفتاحًا مباشرة:
resend login --key re_xxxxxxxxxxxxx
بمجرد تخزينه، لا تحتاج إلى إعادة المصادقة لكل أمر. تقوم أداة سطر الأوامر (CLI) بحل مفتاح API الخاص بك بهذا الترتيب:
- العلامة
--api-key(تتجاوز كل شيء) - متغير البيئة
RESEND_API_KEY - ملف بيانات الاعتماد المخزن
لخطوط أنابيب CI، يعتبر تعيين RESEND_API_KEY كمتغير بيئة سري هو النهج القياسي:
RESEND_API_KEY=re_xxx resend emails send --from builds@yourco.com --to dev@yourco.com --subject "Build passed" --text "All tests green."
دعم الحسابات المتعددة
إذا كنت تعمل عبر عدة منظمات أو فرق في Resend، فإن أداة سطر الأوامر (CLI) تتعامل مع ذلك أيضًا. قم بالتبديل بين الملفات الشخصية المخزنة دون تسجيل الخروج:
resend auth switch
أو مرر ملفًا شخصيًا محددًا لأمر واحد:
resend <command> --profile production
إرسال أول بريد إلكتروني لك
الأمر الرئيسي للإرسال هو resend emails send. كحد أدنى، تحتاج إلى عنوان مرسل (من نطاق تم التحقق منه)، ومستلم، وموضوع، ونص الرسالة.
إرسال بريد إلكتروني بنص عادي
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
جدولة التسليم
تقوم أداة سطر الأوامر (CLI) بتحليل التواريخ باللغة الطبيعية جنبًا إلى جنب مع طوابع الوقت بتنسيق 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"
يعمل مع عبارات مثل "بعد ساعة واحدة"، "الاثنين القادم الساعة 3 عصرًا"، أو طابع وقت ISO كامل.
التقاط معرف البريد الإلكتروني
عند التوجيه عبر الأنابيب (piped)، تتحول أداة سطر الأوامر (CLI) إلى إخراج JSON تلقائيًا. استخدم jq لالتقاط معرف البريد الإلكتروني للعمليات اللاحقة:
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 رسالة دفعة واحدة
أنشئ ملف 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!" }
]
ثم أرسل الدفعة:
resend emails send-batch --file emails.json
يُعد كل طلب دفعة استدعاءً واحدًا لواجهة برمجة التطبيقات مقابل حد معدل الاستخدام الخاص بك، حتى لو أرسل ما يصل إلى 100 رسالة بريد إلكتروني.
إدارة النطاقات ومفاتيح API
قبل أن تتمكن من إرسال بريد إلكتروني، تحتاج إلى نطاق تم التحقق منه. ترشدك أداة سطر الأوامر (CLI) خلال دورة حياة النطاق الكاملة.
إضافة نطاق
resend domains create --name yourdomain.com --region us-east-1
المناطق المدعومة: us-east-1، eu-west-1، sa-east-1، ap-northeast-1. اختر المنطقة الأقرب إلى مستخدميك لتقليل زمن الاستجابة.
التحقق من سجلات DNS
بعد إنشاء النطاق، يزودك Resend بسجلات DNS لإضافتها (SPF، DKIM، DMARC). بمجرد إضافتها إلى مزود DNS الخاص بك، قم بتشغيل:
resend domains verify --id <domain-id>
استعلم عن الحالة حتى تعود "verified" (تم التحقق منها):
resend domains get --id <domain-id>
تكوين التتبع و TLS
resend domains configure --id <domain-id> # Interactive configuration
يمكنك تمكين تتبع الفتح، وتتبع النقرات، و DKIM المخصص من خلال هذا الأمر.
عرض جميع النطاقات
resend domains list
إدارة مفاتيح API
لأغراض الأمان، قم بإنشاء مفاتيح API مخصصة لكل خدمة أو بيئة بدلاً من مشاركة مفتاح واحد في كل مكان:
resend api-keys create # Interactive, lets you scope per domain
resend api-keys list
resend api-keys delete --id <key-id>
تحد المفاتيح المخصصة ما يمكن لكل دمج فعله. لا يمكن لمفتاح مخصص لنطاق واحد الوصول إلى نطاقاتك الأخرى أو إعدادات الحساب.
الميزات المتقدمة: البث، و Webhooks، والقوالب
بالإضافة إلى إرسال رسائل البريد الإلكتروني الفردية، تتعامل أداة سطر الأوامر (Resend CLI) مع ثلاث حالات استخدام رئيسية أخرى: البث الجماعي، وإدارة الـ Webhooks، والقوالب القابلة لإعادة الاستخدام.
البث
تتيح لك ميزة البث إرسال نفس رسالة البريد الإلكتروني إلى قائمة كبيرة من جهات الاتصال. تقوم بالصياغة أولاً، ثم ترسل أو تجدول:
resend broadcasts create # Interactive draft creation
resend broadcasts send --id <broadcast-id>
resend broadcasts schedule --id <broadcast-id> --date "next Monday at 10am"
Webhooks
توفر لك Webhooks أحداث التسليم في الوقت الفعلي: الارتدادات، عمليات الفتح، النقرات، تقارير البريد العشوائي. تتعامل أداة سطر الأوامر (CLI) مع دورة الحياة الكاملة:
resend webhooks create # Register a new endpoint
resend webhooks list
للتطوير المحلي، استخدم الأمر webhooks listen لتوكيل أحداث webhook إلى خادمك المحلي (localhost):
resend webhooks listen --forward-to http://localhost:3000/webhooks/resend
يوفر لك هذا عناء إعداد ngrok أو أدوات النفق المماثلة. تدعم أداة سطر الأوامر (CLI) 17 نوعًا من الأحداث بما في ذلك email.sent، email.delivered، email.bounced، email.opened، و email.clicked.
القوالب
تتيح لك القوالب إنشاء HTML بريد إلكتروني قابل لإعادة الاستخدام مع متغيرات ديناميكية:
resend templates create # Interactive template builder
تستخدم المتغيرات صيغة {{variable_name}} مع قيم احتياطية. بمجرد إنشائها، قم بالإشارة إلى القوالب بواسطة معرف (ID) عند إرسال رسائل البريد الإلكتروني.
جهات الاتصال والجمهور
يحتوي Resend على إدارة مدمجة لجهات الاتصال لرسائل البريد الإلكتروني التسويقية:
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
تشغيل التشخيصات
يتحقق الأمر doctor من بيئتك ويشير إلى المشكلات:
resend doctor
يتحقق من إصدار أداة سطر الأوامر (CLI) الخاصة بك، وصلاحية مفتاح API، والنطاقات التي تم التحقق منها، وحتى يكتشف وكلاء ترميز الذكاء الاصطناعي (Cursor, Claude Desktop, VS Code, OpenClaw).
استخدام Resend CLI في خطوط أنابيب CI/CD
صُممت أداة سطر الأوامر (CLI) لتعمل بشكل جيد في البيئات المؤتمتة. فيما يلي بعض الأنماط التي يجب معرفتها:
إخراج قابل للقراءة آليًا
في أي وقت تقوم فيه بتوجيه الإخراج أو تمرير --json، تتحول أداة سطر الأوامر (CLI) إلى JSON منظم. لا توجد مؤشرات دوران، ولا مطالبات تفاعلية:
resend emails send --from a@co.com --to b@co.com --subject "Deploy" --text "Done" --json
تعمل العلامة --quiet أيضًا على كتم كل الإخراج باستثناء JSON:
resend emails list --quiet | jq '.[0].id'
التأكيد التلقائي للعمليات المدمرة
استخدم --yes لتخطي مطالبات التأكيد في السكريبتات:
resend api-keys delete --id <key-id> --yes
مثال GitHub Actions
- name: Send deployment notification
env:
RESEND_API_KEY: ${{ secrets.RESEND_API_KEY }}
run: |
resend emails send \
--from deploys@yourco.com \
--to team@yourco.com \
--subject "Deploy to production: ${{ github.sha }}" \
--text "Deployed commit ${{ github.sha }} to production."
حدود المعدل
حد معدل استدعاءات Resend API هو طلبيْن في الثانية، مشتركًا بين جميع مفاتيح API لفريقك. عند إرسال الدفعات، استخدم send-batch (ما يصل إلى 100 رسالة بريد إلكتروني لكل استدعاء) بدلاً من التكرار عبر الإرسالات الفردية.
اختبار واجهة برمجة تطبيقات البريد الإلكتروني الخاصة بك باستخدام Apidog
تُعد Resend CLI رائعة للاستخدام التفاعلي والسكريبتات البسيطة. ومع ذلك، عندما تقوم بإنشاء واجهة خلفية تستدعي Resend REST API مباشرةً، فإنك تحتاج إلى طريقة لاستكشاف واختبار هذه النقاط النهائية قبل كتابة رمز التطبيق.
يقوم Apidog بتغطية ذلك. إنه عميل API مجاني يتيح لك إرسال طلبات HTTP، وفحص الاستجابات، وتنظيم حالات الاختبار الخاصة بك، وإعداد بيئات لمفاتيح API وتكوينات مختلفة.
إليك كيفية دمج Apidog في سير عمل تكامل Resend النموذجي:
استيراد مواصفات Resend API. يوفر Resend وثائق مرجعية لـ API على resend.com/docs. يمكنك استيراد مواصفات API إلى Apidog للحصول على عرض منظم لكل نقطة نهاية، بما في ذلك مخططات الطلب/الاستجابة.
إعداد البيئات. في Apidog، أنشئ بيئات للتطوير والإنتاج. قم بتخزين RESEND_API_KEY كمتغير بيئة وارجع إليه في طلباتك باستخدام {{RESEND_API_KEY}}. قم بالتبديل بين البيئات بنقرة واحدة.
اختبار منطق الإرسال الخاص بك. قبل كتابة التعليمات البرمجية لإرسال رسائل البريد الإلكتروني من تطبيقك، قم بتشغيل نقطة النهاية POST /emails في Apidog بحمولتك الدقيقة. تحقق من الاستجابة، وتأكد من عودة معرف البريد الإلكتروني بشكل صحيح، وتأكد من السلوك للحالات الهامشية (الحقول المفقودة، العناوين غير الصالحة، وما إلى ذلك).
أتمتة الاختبارات. يتيح لك مشغل الاختبار في Apidog ربط استدعاءات API والتأكد من قيم الاستجابة. يمكنك إعداد اختبار يرسل بريدًا إلكترونيًا اختباريًا، ويسترجعه بواسطة المعرف (ID)، ثم يتحقق من حالته، كل ذلك دون كتابة تعليمات برمجية للاختبار.
يؤدي هذا إلى اكتشاف أخطاء التكامل قبل ظهورها في الإنتاج. بالاشتراك مع Resend CLI للتطوير المحلي، لديك كل من أداة طرفية سريعة وبيئة اختبار API شاملة.
تسعير Resend
أداة سطر الأوامر (CLI) نفسها مجانية ومفتوحة المصدر. ينطبق التسعير على منصة Resend:
| الخطة | السعر | رسائل بريد إلكتروني شهرية | الحد اليومي | مدة الاحتفاظ بالسجلات |
|---|---|---|---|---|
| مجاني | 0 دولار/الشهر | 3,000 | 100/اليوم | يوم واحد |
| احترافي | 20 دولار/الشهر | 50,000 | بلا حدود | 3 أيام |
| توسع | 90 دولار/الشهر | 100,000 | بلا حدود | 7 أيام |
| مؤسسي | مخصص | مخصص | م |
