نحوه ارسال ایمیل در Laravel با استفاده از Gmail

Php

08 - آذر - 1399


نحوه ارسال ایمیل در Laravel با استفاده از Gmail

نحوه ارسال ایمیل در Laravel با استفاده از Gmail

تاحالا شده بخواید ایمیل ارسال کنید ولی ندونید باید چیکار کنید؟
یا شاید هم بتونید ایمیل ارسال کنید ولی هیچ سریس Smtp در اختیار ندارید و کارتون با شکست مواجه شده.توی این آموزش سعی دارم که بهتون نشون بدم چطوری میشه برنامه های لاراولی که طراحی کردید رو با smtp جیمیل خودتون میزبانی کنید.

ایمیل های ارسالی با سرور های smtp به عنوان spam علامت گذاری نمی شوند و ایمیل ها راحت تر به مقصد میرسند.

مرحله 1: سرور Gmail SMTP را در برنامه لاراول پیکربندی کنید

لاراول از فایل config / mail.php برای ذخیره جزئیات استفاده شده در ارسال نامه استفاده می کند.

این پرونده حاوی تنظیماتی مانند MAIL_DRIVER ، MAIL_HOST ، MAIL_PORT و غیره است. برای ارسال موفقیت آمیز ایمیل ، باید این اطلاعات را تنظیم کنیم.

برای اضافه کردن این اطلاعات نیازی به ویرایش این فایل نداریم،فقط این اطلاعات رو در فایل .env که در مسیر اصلی پروژه هست اضافه میکنیم.

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

قسمت بالا را مانند نمونه زیر ویرایش میکنیم

MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_EMAIL_ADDRESS(GMAIL)
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl

مرحله 2: حساب Google خود را پیکربندی کنید

وارد حساب Google Email خود شوید و روی دکمه حساب Google کلیک کنید. این دکمه هنگامی که بر روی عکس نمایه در داشبورد Gmail خود کلیک می کنید ، نشان داده می شود.


پس از ورود به صفحه حساب من، بر روی Security کلیک کنید و به پایین حرکت کنید و تنظیمات «Less secure app access» را پیدا خواهید کرد. روی دکمه «Radio Button» کلیک کنید تا روشن شود.

مرحله 3: از برنامه لاراول خود ایمیل ارسال کنید

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

$to_name = ‘RECEIVER_NAME’;
$to_email = ‘RECEIVER_EMAIL_ADDRESS’;
$data = array(‘name’=>”Ogbonna Vitalis(sender_name)”, “body” => “A test mail”);
Mail::send(‘emails.mail’, $data, function($message) use ($to_name, $to_email) {
$message->to($to_email, $to_name)->subject(Laravel Test Mail’); $message->from(‘SENDER_EMAIL_ADDRESS’,’Test Mail’);

در کد بالا ما از template خود با نام emails.mail استفاده کردیم که این فایل در پوشه view\email\mail.blade.php هست.

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

Hello {{ $name }},
{{body}}

خب دیگه کار تمومه  و میتونید به سادگی ایمیل ارسال کنید و مطیعن باشیید که مقصد میرسه

امیدوارم این آموزش رو دوست داشته باشید٬ نظر یادتون نره.

ارسال نظر :