پرش به مستندات
API

ارسال با SMTP

همان ارسالِ POST /emails، برای نرم‌افزاری که با SMTP کار می‌کند.

اتصال

هر چیزی که از راه یک سرور SMTP ایمیل می‌فرستد می‌تواند از راه OpenEmail بفرستد: ارسال‌کنندهٔ ایمیلِ یک فریم‌ورک، یک CMS، یک ابزار پایش، یک چاپگر. با نام کاربری openemail و یک کلید API به‌عنوان گذرواژه وارد شوید. کلید به اسکوپ emails:send نیاز دارد، و پیامی که می‌سپارد همان ارسالی است که POST /emails با آن کلید انجام می‌دهد.

تنظیممقدار
میزبانsmtp.openemail.uk
درگاه465 با SSL/TLS، یا 587 با STARTTLS
نام کاربریopenemail
گذرواژهیک کلید API با اسکوپ emails:send
ورودPLAIN یا LOGIN، که بیشتر نرم‌افزارها آن را گذرواژهٔ عادی می‌نامند

هیچ چیز بدون رمزگذاری پذیرفته نمی‌شود، و روی درگاه 587 ورود فقط پس از STARTTLS باز می‌شود. کلید API فقط برای ارسال وارد می‌شود. خواندن صندوق پستی با IMAP یا POP3 به گذرواژهٔ برنامه نیاز دارد.

ارسال یک پیام آزمایشی

یک پیام را با نام message.eml ذخیره کنید و آن را با curl بسپارید. From باید نشانی‌ای باشد که کلید اجازهٔ ارسال با آن را دارد.

message.eml
From: Acme <[email protected]>To: [email protected]Subject: Hello over SMTPMessage-ID: <[email protected]> It works.
درگاه 465
curl --url "smtps://smtp.openemail.uk:465" \  --user "openemail:$OPENEMAIL_API_KEY" \  --mail-from "[email protected]" \  --mail-rcpt "[email protected]" \  --upload-file message.eml --crlf
درگاه 587
curl --ssl-reqd --url "smtp://smtp.openemail.uk:587" \  --user "openemail:$OPENEMAIL_API_KEY" \  --mail-from "[email protected]" \  --mail-rcpt "[email protected]" \  --upload-file message.eml --crlf

پاسخ به پیامِ پذیرفته‌شده 250 2.0.0 OK queued as است و پس از آن شناسه‌اش می‌آید. این همان شناسه‌ای است که GET /emails/{id} می‌گیرد، پس پیام، رویدادهایش و ردیابی‌اش مثل هر ارسال دیگری خوانده می‌شوند.

پیام چگونه به ارسال تبدیل می‌شود

پیام از همان راهی خوانده و فرستاده می‌شود که یک ارسال REST، پس دوباره از بخش‌هایش ساخته می‌شود و بایت به بایت عبور داده نمی‌شود.

در پیامدر ارسال
Fromfrom. الزامی است، و همان فرستنده‌ای است که کلید در برابرش بررسی می‌شود. نشانیِ داخل MAIL FROM فقط باید وجود داشته باشد.
RCPT TOکسانی که پیام به آن‌ها تحویل می‌شود، حداکثر ۵۰ نفر. گیرنده‌ای که در To آمده یک to است، آن‌که در Cc آمده یک cc، و آن‌که در هیچ‌کدام نیامده یک bcc. دست‌کم یکی باید در To باشد.
Reply-ToreplyTo، نخستین نشانی.
Subjectsubject.
بخش‌های متنی و HTMLtext و html. تصویری که HTML آن را به‌صورت cid: به کار می‌برد، در همان جایی که آمده جاسازی می‌شود.
پیوست‌هاattachments: حداکثر ۲۰ فایل و روی هم ۵ مگابایت.
هدرهای دیگرX-*، List-*، Precedence، Auto-Submitted، Importance، Priority و Feedback-ID نگه داشته می‌شوند. هر هدر دیگری کنار گذاشته می‌شود.
X-OpenEmail-Streamstream: transactional یا broadcast. هدر پیش از خروج پیام برداشته می‌شود.

آنچه اعمال می‌شود

هر چیزی که یک ارسال REST به آن پایبند است اینجا هم برقرار است، چون یک راه است.

  • اسکوپ‌های کلید، و نشانی‌ها و دامنه‌هایی که به آن‌ها محدود است.
  • بررسی فرستنده: From نشانی‌ای روی دامنه‌ای است که می‌تواند بفرستد، و نشانی‌ای که کلید اجازهٔ ارسال با آن را دارد.
  • سهمیهٔ ارسال فضای کاری و فهرست توقیف آن.
  • امضا و ردیابی بازشدن و کلیکِ نشانی‌ای که پیام از آن فرستاده می‌شود، مثل یک ارسال REST که نه signature را تنظیم می‌کند و نه tracking را.
  • مسیر: تا وقتی مسیر ارسال‌های گروهی متوقف است، پیامی با X-OpenEmail-Stream: broadcast رد می‌شود.
  • وب‌هوک‌ها و رویدادهای تحویل، که پیام را با شناسهٔ داخل پاسخ 250 نام می‌برند.

تلاش‌های دوباره

پیامی که Message-ID دارد یک بار فرستاده می‌شود. سپردن دوبارهٔ همان Message-ID برای همان گیرنده‌ها با شناسهٔ پیام نخست پاسخ می‌گیرد و چیزی نمی‌فرستد، پس نرم‌افزاری که پس از قطع شدن اتصال دوباره تلاش می‌کند نمی‌تواند آن را دو بار بفرستد. همان پیام برای گیرنده‌های دیگر یک ارسال دیگر است. به ایدمپوتنسی نگاه کنید.

پاسخ‌ها و محدودیت‌ها

پاسخچه زمانی
250 2.0.0پیام در صف قرار گرفته است و شناسه‌اش در ادامه می‌آید.
535 5.7.8ورود ناموفق بود: کلیدی نادرست، باطل‌شده یا منقضی‌شده، کلیدی بدون emails:send، یا یک کلید API با نام کاربری دیگری.
452 4.5.3بیش از ۵۰ گیرنده در یک پیام. نرم‌افزار ایمیل خودش بقیه را در پیام دیگری می‌فرستد.
552 5.3.4پیام از ۲۵ مگابایت بزرگ‌تر است.
550 5.6.0پیام را نمی‌توان به شکلی که نوشته شده فرستاد: From ندارد، کسی در To نیست، پیوست‌ها بیش از حد زیاد یا بیش از حد بزرگ‌اند، یا مسیر ناشناخته است. متن می‌گوید کدام.
550 5.7.1ارسال رد شد: کلید اجازهٔ ارسال با آن نشانی را ندارد، دامنه هنوز نمی‌تواند بفرستد، یا مسیر ارسال‌های گروهی متوقف است.
452 4.7.0سهمیهٔ ارسال فضای کاری تمام شده است.
451 4.7.1بیش از ۳۰۰ پیام از یک کلید در یک دقیقه. نرم‌افزار ایمیل صبر می‌کند و دوباره تلاش می‌کند.
451 4.3.0خطایی در سمت ما. کمی بعد دوباره تلاش کنید.

اتصالی که چیزی برای فرستادن ندارد پس از پنج دقیقه بسته می‌شود. یک اتصال می‌تواند هر تعداد پیام را یکی پس از دیگری ببرد.

در گزارش درخواست‌ها

هر پیامی که یک کلید می‌سپارد یک سطر در گزارش درخواست‌های آن است، با متد SMTP، مسیر /emails و وضعیتی که یک ارسال REST می‌داشت: 202 وقتی در صف قرار گرفته، و 403، 422 یا 429 با همان code خطا وقتی رد شده است. GET /keys/{id}/requests?path=/emails آن‌ها را کنار ارسال‌های REST فهرست می‌کند. ورودی که با یک کلید واقعی ناموفق باشد در فعالیت همان کلید دیده می‌شود.