ارسال ایمیل در لاراول با Gmail SMTP

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

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

خبرنامه

مرحله ۱: سرور 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
Code language: JavaScript (javascript)

مقدار بالا را مانند نمونه‌ی زیر ویرایش می‌کنیم:

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

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

وارد حساب Gmail خود شوید و روی آیکون حساب گوگل کلیک کنید؛ این آیکون هنگام کلیک روی عکس پروفایل در داشبورد Gmail نمایش داده می‌شود.

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

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

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

$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');
});
Code language: PHP (php)

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

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

Hello {{ $name }},
{{ $body }}
Code language: PHP (php)

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

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

بروزرسانی‌های خبرنامه

آدرس رایانامه‌ی خود را در زیر وارد کنید و مشترک خبرنامه‌ی ما شوید.

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

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