نصب
یک پکیج، بدون وابستگی، روی هر محیط اجرای سمت سرور.
نصب
نخستین انتشار 0.0.1 است. هر عملیات مستندشده یک متد دارد، بررسی همخوانیِ پکیج هر جا یکی غایب باشد بیلد را میشکند، و APIای که آن را میپوشاند در همهٔ محیطها روشن است.
pnpm add @openemail/sdkimport { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({ from: 'Acme Billing <[email protected]>', to: '[email protected]', subject: 'Your September invoice', html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)init کلاینت مشترک openemail را یک بار پیکربندی میکند و هر ماژولی که پس از آن openemail را import کند همان کلاینت را میگیرد. اگر از آن صرفنظر کنید، نخستین فراخوانی کلاینت را از OPENEMAIL_API_KEY میسازد.
resolve شدن send() به این معنا نیست که پیام رفته است. یک ارسال زمانبندیشده یا لغوپذیر با queued یا scheduled برمیگردد و بعداً تعیین تکلیف میشود. status را بخوانید، نه این واقعیت را که promise حل شد.
کجا اجرا میشود
بدون هیچ وابستگی زمان اجرا، روی Node 20+، Bun، Deno و Cloudflare Workers. تنها از fetch سراسری استفاده میکند و بس، و میتوانید نسخهٔ خودتان را به آن بدهید.
هم ESM و هم CommonJS عرضه میشوند، هرکدام با اعلان تایپ خودش، پس هم import { openemail } from '@openemail/sdk' و هم const { openemail } = require('@openemail/sdk') کار میکنند.
در مرورگر نه. کلاینت یک API key فضای کاری را با خود دارد که میتواند ایمیل بفرستد و صندوق پستی را بخواند، پس هر جا window و document وجود داشته باشند از راهاندازی امتناع میکند. صندوقهای یکبارمصرف استثنا هستند: createTempMail() به هیچ کلیدی نیاز ندارد و داخل صفحه اجرا میشود.
این یک کلاینت **TypeScript/JavaScript** است و پکیجی برای Python، Go، PHP یا Ruby وجود ندارد. از زبانی دیگر، API صرفاً HTTP و JSON ساده است: شروع سریع یک درخواست کارا را در هشت زبان دارد و سند OpenAPI برای بیشتر زبانهای دیگر کلاینت تولید میکند.