كيفية تثبيت واستخدام Resend CLI

Herve Kom

Herve Kom

17 مارس 2026

كيفية تثبيت واستخدام Resend CLI

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

أداة سطر الأوامر (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، وتعمل لثلاثة جماهير مختلفة:

💡
إذا كنت تقوم بإنشاء تطبيقات ترسل رسائل بريد إلكتروني، فستحتاج إلى طريقة لاختبار استدعاءات واجهة برمجة تطبيقات البريد الإلكتروني هذه قبل وصولها إلى مرحلة الإنتاج. يوفر لك Apidog واجهة مرئية مجانية لاختبار واجهات برمجة تطبيقات REST، بما في ذلك واجهة برمجة تطبيقات البريد الإلكتروني الخاصة بـ Resend، دون الحاجة إلى كتابة أي تعليمات برمجية إضافية. يمكنك استيراد مواصفات Resend OpenAPI، وتكوين بيئاتك، وتشغيل مجموعات اختبار منظمة، كل ذلك في مكان واحد.
زر

تثبيت 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 الخاص بك بهذا الترتيب:

  1. العلامة --api-key (تتجاوز كل شيء)
  2. متغير البيئة RESEND_API_KEY
  3. ملف بيانات الاعتماد المخزن

لخطوط أنابيب 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,000100/اليوميوم واحد
احترافي20 دولار/الشهر50,000بلا حدود3 أيام
توسع90 دولار/الشهر100,000بلا حدود7 أيام
مؤسسيمخصصمخصصم

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات