تعداد بازدید: 170

Mail

جهت ارسال ایمیل در لاراول باید موارد زیر را در نظر داشته باشید.

  • تنظیمات ایمیل
  • ساخت کلاس Mailable
  • ارسال ایمیل

تنظیمات سرور ایمیل

تنظیمات مربوط به ایمیل در مسیر config/mail.php موجود می باشد. رول کار به این صورت است که به ازای هر option یا مقدار موجود در فایل .env را می خواند و در صورت خالی بودن این مقدار در فایل .env مقداری پیش فرض به آن اختصاص می دهد.

تنظیمات مربوط به ارسال ایمیل در فایل mail.php به شرح زیر است :

  • Mail Driver
  • SMTP Host Address
  • SMTP Host Port
  • Global “From” Address
  • E-Mail Encryption Protocol
  • SMTP Server Username
  • Sendmail System Path
  • Markdown Mail Settings

تنظیمات ایمیل در لاراول موجود در فایل .env به شکل زیر می باشد:

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

به همین منظور به ازای هر قالب ایمیل باید یک کلاس بسازید. مثلا ایمیل که پس از ساخت محصول باید فرستاده شود.

برای این کار باید دستور زیر را اجرا کنید :

پس از اجرای دستور بالا کلاس زیر در مسیر app/Mail/ProductCreated.php ساخته می شود :

کلاس بالا همان قالب ایمیلی است که هر زمان نیاز بود از آن استفاده می کنیم (instanse می گیریم). این کلاس هم نیاز به پارامتر دارد و هم نیاز به view . پارامتر ها از طریق متد سازنده به آن فرستاده می شود و در متد build قالب view را در آن return می کنیم.

در مثال زیر می خواهیم زمانی که محصول ساخته شد ایمیلی برای کاربر سازنده بفرستیم. در ابتدا باید شئ $product را برای ایمیل بسازیم (مثلا در کنترلر ساخته می شود) و در خروجی آن بفرستیم. برای این کار یک متغیر داخلی برای کلاس تعریف می کنیم که در متد سازنده مقدار دهی می شود. این متغیر در زمان ساخت شئ از روی کلاس یعنی جایی که ما از کلاس ProductCreated نمونه گیری (instanse) می گیریم باید مقدار دهی کنیم (مرحله ارسال ایمیل). این متغیر در طول view که در متد build داریم قابل دسترس است.

مثلا در view در مسیر resourses/views/emails/product-created.blade.php ما کد های زیر را داریم.

در مرحله ای که ایمیل را ارسال می کنیم قالب بالا به کاربر ارسال می شود.

ارسال ایمیل با Mail

برای ارسال ایمیل باید از Fecad با نام Mail استفاده کنیم. Mail پارامتر های زیادی می گیرد که شامل attach (الصاق فایل به ایمیل) و cc (Carbon Copy) و … می باشد . ما از to برای آدرس گیرنده و از send برای ارسال ایمیل استفاده می کنیم.

  • متد to به عنوان ورودی یک شئ از مدل User می گیرد.
  • متد send به عنوان ورودی یک شئ از مدل ProductCreated که از جنس Mailable و در مسیر App\Mail\ProductCreated می باشد می گیرد.
  • Mail در مسیر Illuminate\Support\Facades\Mail باید import شود.(زمانی که در controller استفاده می شود)

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای Mail

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *