لاراول ایمیل

ارسال ایمیل در لاراول (نسخه 7 و جدیدتر)

اساطیر زبان

در این آموزش نحوه ارسال ایمیل از برنامه لاراول( Laravel) را با استفاده از سرور Mailtrap SMTP توضیح می دهیم. به طور کلی فرایند کار کلاس Mailable را بررسی می کنیم و جنبه های ضروری ارسال ایمیل ایمن، سریع و کارآمد را معرفی خواهیم کرد.

ارسال ایمیل ساده در لاراول 8 با Mailable

ایمیل ارسال شده از برنامه لاراول یک کلاس Mailable را نشان می دهد. هر کلاس Mailable در پوشه app/Mail قرار گرفته است.

 


لاراول

توی این پک فوق العاده، لاراول رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با لاراول وبسایت بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

دستور

php artisan make:mail your_class_name

کلاس Mailable را فرم می دهد، همچنین الگوی ایمیل blade در view ایجاد می کند که نمایش ارسال کننده ایمیل را مدیریت می کند.

Mailtrap چیست؟

Mailtrap یک ابزار سنتی است و به طور کلی از آن به عنوان یک سرور جعلی SMPT (مخفف ” Simple Mail Transfer Protocol ” به معنای پروتکل انتقال ایمیل ساده) استفاده می شود. توسعه دهندگان وب و تیم های توسعه نرم افزار از آن برای ارسال، تست، مشاهده و اشتراک گذاری ایمیل هایی استفاده می کنند که احتمالاً از یک محیط استقرار بدون شبیه سازی اسپم ارسال می شوند.

مراحل کار برای ارسال ایمیل در لاراول

ارسال ایمیل از لاراول در محیط لوکال هاست (localhost) با اجرای مراحل زیر توسط توسعه دهندگان مب تواند شبیه سازی شود:

1- یک پروژه لاراول بسازید.

2- یک حساب Mailtrap برای مدیریت درخواست های محیط لوکال ایجاد کنید.

3- جزئیات Mailtrap را در یک فایل با پسوند .env با هم یکی کنید.

4- یک کلاس Mailable در لاراول تنظیم کنید.

5-یک کنترلر ایمیل ایجاد کنید، منطق ارسال ایمیل را بنویسید.

6- یک مسیر ایجاد کنید، کنترل کننده ایمیل را به آن وصل کنید.

7- یک قالب ارسال کننده ایمیل در view بسازید.

8- سرور توسعه خود را راه اندازی کرده و ایمیل های آزمایشی را ارسال کنید.

ایجاد پروژه لاراول

پروژه جدید لاراول را با اجرای دستور زیر نصب کنید.

composer create-project laravel/laravel –prefer-dist laravel-send-email

با دستور زیر به داخل دایرکتوری پروژه جدید ساخته شده بروید:

cd laravel-send-email

تنظیم پیکربندی Mailtrap Mail

ابتدا باید یک حساب Mailtrap ایجاد کنید. این برنامه ایمیل های ارسال شده از محیط توسعه را تست می کند، اسپم ها را مهار می کند و امکان تست ایمیل های ارسال شده از برنامه لاراول را به راحتی فراهم می کند.

به داشبورد mailtrap بروید، روی نماد چرخ دنده کوچک کلیک کنید. نام کاربری و رمز عبور را از تب SMTP Settings کپی کنید.

پس از ساخت حساب، فایل .env را باز کرده و پیکربندی mailtrap را به صورت زیر وارد کنید.

MAIL_MAILER=smtp

MAIL_HOST=smtp.mailtrap.io

MAIL_PORT=2525

MAIL_USERNAME= // mailtrap نام کاربری

MAIL_PASSWORD= // mailtrap رمز عبور

MAIL_ENCRYPTION=tls

MAIL_FROM_ADDRESS= // ایمیل از آدرس

جزئیات مربوط و خاص برای استفاده از Gmail یا آدرس ایمیل سفارشی را اضافه کنید.

ایجاد کلاس Markdown Mailable

از لحاظ تئوری، کلاس mailable در لاراول برای ساخت ایمیل استفاده می شود. داده ها را جمع آوری کرده و داده ها را به view می فرستد. راه اندازی API ایمیل بدون شک ساده و سرراست است.

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

php artisan make:mail EmailDemo –markdown=Email.demoEmail

دستور artisan بالا فایل app/Mail/EmailDemo.php را ایجاد می کند. داده ها را به view می فرستیم که باید ایمیل را ارسال کند.

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;

use Illuminate\Contracts\Queue\ShouldQueue;

use Illuminate\Mail\Mailable;

use Illuminate\Queue\SerializesModels;

class EmailDemo extends Mailable

{

use Queueable, SerializesModels;

public $mailData;

/**

* Create a new message instance.

*

* @return void

*/

public function __construct($mailData)

{

$this->mailData = $mailData;

}

/**

* Build the message.

*

* @return $this

*/

public function build()

{

return $this->markdown(‘Email.demoEmail’)

->with(‘mailData’, $this->mailData);

}

}

قالب Email.demoEmail توسط دستور mailable ایجاد شده است و متغیر mailData داده هایی را نگه می دارد که در مرحله بعد تعریف می شوند.

ایجاد کنترلر برای ایمیل و ارسال

دستور زیر را برای ایجاد یک کنترلر جدید اجرا کنید، در اصل منطق نمایش لیست کاربران را تعریف می کنیم. دستور را اجرا کنید تا کنترلر ساخته شود.

php artisan make:controller MailController

فایل app/Http/Controllers/MailController.php را باز کرده و کد زیر را در آن قرار دهید.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\Mail;

use App\Mail\EmailDemo;

use Symfony\Component\HttpFoundation\Response;

class MailController extends Controller {

public function sendEmail() {

$email = ‘positronx@gmail.com’;

$mailData = [

‘title’ => ‘Demo Email’,

‘url’ => ‘https://www.positronx.io’

];

Mail::to($email)->send(new EmailDemo($mailData));

return response()->json([

‘message’ => ‘Email has been sent.’

], Response::HTTP_OK);

}

}

کلاس EmailDemo Mailable و همچنین Mail Facade و سرویس Http Response را وارد کنید. در شروع منطق اصلی را می نویسیم که امکان ارسال ایمیل را از برنامه لاراول فراهم می کند.

پس از ارسال موفقیت آمیز ایمیل باید یک پاسخ مناسب به کاربر نشان داده شود، با API HttpFoundation/Response این کار انجام می شود.

ایجاد مسیر برای ارسال ایمیل

در این مرحله یک مسیر می سازیم و یک توافق بین کنترلر ایمیل و تابع sendEmail ایجاد می کنیم.

فایل routes/web.php را باز کرده و کد زیر را وارد کنید.

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\MailController;

/*

|————————————————————————–

| Web Routes

|————————————————————————–

|

*/

Route::get(‘/send-email’, [MailController::class, ‘sendEmail’]);

ایجاد قالب ایمیل

تقریباً همه عناصر مورد نیاز را پیکربندی کردیم. حالا زمان آن رسیده است که view برای الگوی ایمیل را برای ارسال ایمیل ها می تنظیم کنیم. به یاد داشته باشید کلاس mailable را ایجاد کرده ایم و آن نیز view را ایجاد کرده است.

فایل resources/views/Email/demoEmail.blade.php را باز کنید و کد زیر را در آن قرار دهید.

@component(‘mail::message’)

# {{ $mailData[‘title’] }}

The body of your message.

@component(‘mail::button’, [‘url’ => $mailData[‘url’]])

Button Text

@endcomponent

Thanks,<br>

{{ config(‘app.name’) }}

@endcomponent

حتما دانلود کنید: آموزش صفر تا صد لاراول (رایگان)

ارسال ایمیل در لاراول

برای ارسال ایمیل روی mailtrap از طریق لاراول، دستور زیر را اجرا کنید.

php artisan serve

می توانید ایمیل را از طریق مسیر زیر ارسال کنید.

http://localhost:8000/send-email

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست