پرش به مطلب اصلی

تنظیمات ایمیل Laravel


در این بخش می خواهیم آموزش نحوه تنظیمات ایمیل را در هاست لاراول laravel به شما آموزش دهیم. ابتدا به سرویس خود مراجعه کنید و در بخش ایمیل ها بر روی افزودن ایمیل کلیک نمایید.(افزودن ایمیل)

سپس مراحل زیر را به ترتیب طی کنید تا به راحتی بتوانید از برنامه خود ایمیل ارسال نمایید.

تنظیمات متغییر های محیطی (env)

در مرحله بعد باید اطلاعات ایمیل را در متغییر های محیطی تنظیمات سرویس اضافه کنید.

# name : value

MAIL_DRIVER : smtp
MAIL_HOST : mail.chabokan.net
MAIL_PORT : 587
MAIL_ENCRYPTION : tls
MAIL_USER : info@example.net
MAIL_PASSWORD : ********

ساخت کلاس Mailable

حال به کنسول مراجعه کرده و در پروژه خود یک کلاس Mailalbe با استفاده از کامند زیر ایجاد میکنید. با اجرای این دستور، یک فایل MailManage.php در پوشه app/Mail ایجاد خواهد شد.

php artisan make:mail EmailClass

ویرایش کلاس Mailable

سپس به قسمت app/Mail رفته و فایل EmailClass.php را ادیت کرده و کد زیر را در آن قرار میدهید.

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class EmailClass extends Mailable
{
use Queueable, SerializesModels;

/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}

/**
* Build the message.
*
* @return $this
*/
public function build()

{

return $this->from('info@test.com') // آدرس ایمیل ارسال کننده
->subject('mail subject') // سابجکت ایمیل
->view('emails.mail'); // نام فایل ویو
}
}

ساخت view

سپس به فولدر /resources/views/ رفته و یک فولدر به نام emails بسازید و در این فولدر یک فایل با نام mail.blade.php ساخته و کد زیر را در آن قرار دهید تا view ارسال ایمیل ساخته شود:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Email template for Laravel</title>
</head>
<body>
<p>this is a mail! </p>
</body>
</html>

ساخت Controller

حالا کامند زیر را در کنسول وارد کنید تا کنترلر ایمیل ساخته شود.

php artisan make:controller EmailController

سپس به فولدر /app/Http/Controllers رفته و فایل EmailController را ادیت نموده و قطعه کد زیر را در این فایل قرار دهید:

namespace App\Http\Controllers;

use App\Mail\EmailClass;
use Illuminate\Support\Facades\Mail;
use Illuminate\Http\Request;

class EmailController extends Controller
{
public function sendEmail(Request $request)
{
Mail::to('recipient@example.com')->send(new EmailClass()); // در این قسمت میبایست آدرس ایمیل دریافت کننده را وارد کنید.

return "ایمیل فرستاده شد.";
}
}

تعریف Route

سپس به قسمت /routes رفته و کامند زیر را در فایل web.php قرار میدهید.

use App\Http\Controllers\EmailController;

Route::get('/send-email', [EmailController::class, 'sendEmail']);

حالا هنگامی که https://your-url/send-email را در مرورگر فراخوانی کنید، متد sendEmail از کلاس EmailController فعال شده و ایمیل ارسال می‌گردد.

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