چگونه از لاراول ایمیل ارسال کنیم، و چرا باید از سرویس خارجی استفاده کنیم ؟

گردآوری و تالیف : عرفان کاکایی
تاریخ انتشار : 03 مرداد 1397
دسته بندی ها : لاراول

ارسال ایمیل برای بسیار از پروژه‌های وب، یک عملکرد رایج است: اعلانات، یادآور رمز عبور، فاکتورها و... با کمک ایمیل انجام می‌شوند. اما در سال‌های اخیر، به یک مشکل فنی بر خورده‌ایم. دیگر مسئله فقط ارسال ایمیل نیست، بلکه تحویل صحیح آن‌ها نیز هست.

چرا ارسال ایمیل دیگر آنقدرها هم ساده نیست؟

عللی که ممکن است ایمیل‌ها به صحت تحویل داده نشوند:

  • خطای فنی در اسکریپت برنامه‌نویسی شما
  • مسدود شدن توسط Provider شما در هنگام ارسال
  • رد شدن از محدودیت تعیین شده برای ارسال ایمیل توسط Provider میزبان شما
  • مسدود شدن توسط سرور دریافت کننده به علت محبوبیت پایین Provider شما
  • وارد شدن به Spam یا دیگر فولدرهای دارای فیلترینگ خودکار
  • وارد شدن به تب‌هایی مانند Promotion در جیمیل
  • غیره...

به جز خطا در اسکریپت، اکثر این شکست‌ها یک علت دارند: سرور Provider میزبان شما، درست تنظیم نشده است. از نظر فنی، این سرورها می‌توانند ایمیل‌ها را ارسال کنند، اما تضمینی برای تحویل داده شدن آن‌ها نمی‌کند.

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

رایج‌ترین مثال، وقتی است که IP سرور به علت میزان ایمیل‌هایی که ارسال می‌کند، در لیست سیاه قرار می‌گیرد. وقتی که بیش از ۱۰۰ ایمیل را از یک سرور اشتراکی ارسال می‌کنید، این اتفاق می‌افتد. مثلا وقت‌هایی که از یک تابع PHP قدیمی مانند mail() استفاده می‌کنید.

Providerهای شخص ثالث در اینجا به عمل می‌آیند.

Providerهای شخص ثالث ارسال ایمیل

برای حل اکثر مشکلات ذکر شده در بالا، می‌توانید از یک سرویس برای تحویل ایمیل استفاده کنید. هر زمان که می‌خواهید ایمیلی را ارسال کنید، تابع آن سرویس را فراخوانی می‌کنید و آن‌ها فرایند تحویل را برای شما انجام می‌دهند، که معمولا هم تضمین بیش از 99 درصد را به همراه دارد.

آن‌ها به محبوبیت خود اهمیت زیادی می‌دهند، پس در سیستم‌های خود نیز با اسپمرها مبارزه می‌کنند. پس اگر تلاش کنید اسپم یا ایمیل‌های ناخواسته را از طریق سرورهای آن‌ها ارسال کنید، آن‌ها حساب شما را مسدود می‌کنند، و دامنه شما در لیست سیاه قرار می‌گیرد.

معروف‌ترین سرویس‌ها را در لیست زیر مشاهده می‌کنید:

دقت کنید که این سرورها رایگان نیستند. البته برای ایمیل‌هایی با حجم بالا. هر کدام از آن‌ها محدودیتی در زمینه ایمیل‌های رایگان را دارند. مانند Mailgun به صورت ماهانه اجازه ارسال 10000 ایمیل را می‌دهد.

لیست قیمت‌ها به این صورت است:

نکته ۱: نمی‌توانید این قیمت‌ها را مستقیما مقایسه کنید؛ زیرا هر Provider سطوح مختلفی داشته و از فرمول‌های مختلفی برای محاسبه استفاده می‌کند.

نکته ۲: لطفا به دنبال ارزا‌ن‌ترین گزینه نروید؛ زیرا ممکن است ضعیف‌ترین در زمینه تحویل باشد.

مسئله فقط قیمت نیست. نه تنها باید بر روی وبسایت آن‌ها ثبت نام‌ کنید، بلکه باید نام دامنه خود را نیز به تایید برسانید، که قرار است بعدا برای ارسال ایمیل‌ها از آن‌ها استفاده کنید؛ مثلا [Roocket]@roocket.ir.

چگونه از Providerهای شخص ثالث در لاراول استفاده کنیم؟

سه Provider هستند که به طور پیشفرض توسط لاراول پشتیبانی می‌شوند:

  • Mailgun
  • Sparkpost
  • Amazon SES

برای تمام این موارد، فقط نیاز است که مراحل ثبت نام را به پایان برسانید و آن‌ها را در فایل .env یا config/services.php قرار دهید:

'mailgun' => [
    'domain' => 'your-mailgun-domain',
    'secret' => 'your-mailgun-key',
],
'sparkpost' => [
    'secret' => 'your-sparkpost-key',
],
'ses' => [
    'key' => 'your-ses-key',
    'secret' => 'your-ses-secret',
    'region' => 'ses-region',  // e.g. us-east-1
],

پس از آن نیز می‌توانید از تابع mail::send() در لاراول استفاده کنید.

اگر می‌خواهید از هر سرویسی به جز این سه مورد استفاده کنید، باید نحوه ادغام آن‌ها با لاراول را پیدا کنید. احتمال چند دستور برای فراخوانی API یا برخی جزئیات SMTP خواهد بود.

منبع

مقالات پیشنهادی

خالق لاراول چگونه کار می‌کند؟

اخیرا افرادی را دیدم که وضعیت / روند کاری خود را به اشتراک می‌گذارند. پس من هم تصمیم گرفتم که همین کار را انجام دهم.

6 ویژگی فوق العاده لاراول 5.5 که باید در پروژه بعدی استفاده کنید

لاراول 5.5 به تازگی منتشر شده, بنابراین اگر شما میخواهید برای پروژه بعدی تون برنامه ریزی کنید, باید مزایای فوق العاده این نسخه رو بدونید و ازشون تا حد...

چرا لاراول بهترین فریمورک 2017 است ؟

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

چه زمانی، چگونه و چرا از نودجی‌اس استفاده کنیم؟

بسیاری از سازمان‌ها و استارتاپ‌ها در جهان در حال حاضر از قدرت نودجی‌اس برای ساخت وب اپلیکیشن‌های‌شان استفاده می‌کنند. مزایای نودجی‌اس براستی بی‌شمار ا...