راهنمای زیرساخت ایمیل

ارسال ایمیل با API در Python

یک الگوی امن در بک‌اند برای ارسال ایمیل تراکنشی از Flask، Django، FastAPI یا یک worker.

سرویس‌های Python باید ایمیل را از کد سرور مورد اعتماد ارسال کنند، ورودی‌ها را اعتبارسنجی کنند، شناسه‌های پاسخ را ثبت کنند و وقتی تحویل نباید یک درخواست را مسدود کند، از صف‌های task استفاده کنند.

این در عمل چه معنایی دارد

  • اعتبارنامه‌های مدیریت‌شده در متغیرهای محیطی
  • payloadهای پیام اعتبارسنجی‌شده
  • کار ناهمگام یا صف‌بندی‌شده برای تلاش‌های مجدد
  • لاگ‌گیری ساختاریافته همراه با شناسه پیام‌ها

چک‌لیست پیاده‌سازی

  1. کلید API را از یک secret manager یا متغیر محیطی بارگذاری کنید.
  2. فیلدهای پیام را پیش از ارسال درخواست اعتبارسنجی کنید.
  3. از timeout استفاده کنید و خطاهای قابل‌تلاش‌مجدد را دسته‌بندی کنید.
  4. شناسه پیامی را که ارائه‌دهنده برمی‌گرداند ذخیره کنید.
  5. با افزایش حجم، ایمیل‌های غیرفوری را به یک worker صف منتقل کنید.

پرسش‌هایی که تیم‌ها می‌پرسند

در Python از SMTP استفاده کنم یا از API ایمیل مبتنی بر HTTP؟

هر دو کار می‌کنند، اما API مبتنی بر HTTP معمولاً احراز هویت شفاف‌تر، payloadهای JSON و پاسخ‌های تحویل ساختاریافته ارائه می‌دهد.

تلاش مجدد چگونه باید انجام شود؟

خطاهای انتقال یا محدودیت نرخ را با backoff دوباره تلاش کنید؛ خطاهایی را که ممکن است به ارسال تکراری منجر شوند به‌طور خودکار تکرار نکنید.