آموزش ارسال ایمیل در لاراول
آموزش ارسال ایمیل در لاراول
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش ارسال ایمیل در لاراول خواهیم پرداخت.
لاراول از کتابخانه SwiftMailer غنی از ویژگی های رایگان برای ارسال ایمیل استفاده می کند. با استفاده از تابع کتابخانه، می توانیم به راحتی ایمیل ها را بدون دردسر زیاد ارسال کنیم. الگوهای پست الکترونیکی به همان شیوه بارگذاری می شوند، به این معنی که می توانید از نحو Blade استفاده کرده و داده ها را به قالب های خود تزریق کنید.
جدول زیر نحو و ویژگی های تابع ارسال را نشان می دهد –
نحوه | void send(string|array $view, array $data, Closure|string $callback) |
پارامترها |
|
نحو | void send(string|array $view, array $data, Closure|string $callback) |
پارامتر |
|
برگشت | nothing |
Description | Sends email. |
در آرگومان سوم، بسته شدن callback$ نمونه پیام را دریافت کرد و با آن نمونه همچنین می توانیم توابع زیر را فراخوانی کرده و پیام را مطابق شکل زیر تغییر دهیم.
- message → subject(‘Welcome to the Tutorials Point’;)$
- ;message → from(’email@example.com’, ‘Mr. Example’)$
- ;message → to(’email@example.com’, ‘Mr. Example’)$
برخی از روشهای کمتر رایج عبارتند از –
- ;message → sender(’email@example.com’, ‘Mr. Example’)$
- ;message → returnPath(’email@example.com’)$
- ;message → cc(’email@example.com’, ‘Mr. Example’)$
- ;message → bcc(’email@example.com’, ‘Mr. Example’)$
- ;message → replyTo(’email@example.com’, ‘Mr. Example’)$
- ;message → priority(2)$
برای پیوست یا جاسازی فایل ها، می توانید از روش های زیر استفاده کنید –
- ;message → attach(‘path/to/attachment.txt’)$
- $;message → embed(‘path/to/attachment.jpg’)$
ایمیل را می توان به صورت HTML یا متن ارسال کرد. می توانید نوع ایمیلی را که می خواهید در اولین آرگومان ارسال کنید با عبور از یک آرایه مطابق شکل زیر مشخص کنید. نوع پیش فرض آن HTML است. اگر می خواهید ایمیل متنی ساده ارسال کنید ، از نحو زیر استفاده کنید.
1 |
Mail::send([‘text’=>’text.view’], $data, $callback); |
در این نحو، اولین آرگومان یک آرایه می گیرد. از متن به عنوان نام کلید نمای به عنوان مقدار کلید استفاده کنید.
مثال ارسال ایمیل در لاراول
مرحله 1 – اکنون ایمیلی از حساب Gmail ارسال می کنیم و برای این کار باید حساب Gmail خود را در فایل محیط لاراول – فایل env. پیکربندی کنید. تأیید صحت 2 مرحله ای را در حساب Gmail خود فعال کنید و یک گذرواژه خاص برنامه ایجاد کنید و به دنبال آن پارامترهای .env را مانند شکل زیر تغییر دهید.
1 2 3 4 5 6 |
MAIL_DRIVER = smtp MAIL_HOST = smtp.gmail.com MAIL_PORT = 587 MAIL_USERNAME = your-gmail-username MAIL_PASSWORD = your-application-specific-password MAIL_ENCRYPTION = tls |
مرحله 2 – پس از تغییر فایل env. دو دستور زیر را برای پاک کردن حافظه پنهان و راه اندازی مجدد سرور لاراول اجرا کنید.
1 |
php artisan config:cache |
مرحله 3 – با اجرای دستور زیر یک کنترلر به نام MailController ایجاد کنید.
1 |
php artisan make:controller MailController --plain |
مرحله 4 – پس از اجرای موفق خروجی زیر را دریافت خواهید کرد –
مرحله 5 – کد زیر را در کپی کنید
app/Http/Controllers/MailController.php file.
app/Http/Controllers/MailController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Mail; use App\Http\Requests; use App\Http\Controllers\Controller; class MailController extends Controller { public function basic_email() { $data = array('name'=>"Virat Gandhi"); Mail::send(['text'=>'mail'], $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel Basic Testing Mail'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "Basic Email Sent. Check your inbox."; } public function html_email() { $data = array('name'=>"Virat Gandhi"); Mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel HTML Testing Mail'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "HTML Email Sent. Check your inbox."; } public function attachment_email() { $data = array('name'=>"Virat Gandhi"); Mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel Testing Mail with Attachment'); $message->attach('C:\laravel-master\laravel\public\uploads\image.png'); $message->attach('C:\laravel-master\laravel\public\uploads\test.txt'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "Email Sent with attachment. Check your inbox."; } } |
مرحله 6 – کد زیر را در فایل resources/views/mail.blade.php کپی کنید.
resources/views/mail.blade.php
1 2 |
<h1>Hi, {{ $name }}</h1> l<p>Sending Mail from Laravel.</p> |
مرحله 7 – خطوط زیر را در app/Http/route.php اضافه کنید.
app/Http/route.php
1 2 3 |
Route::get('sendbasicemail','MailController@basic_email'); Route::get('sendhtmlemail','MailController@html_email'); Route::get('sendattachmentemail','MailController@attachment_email'); |
مرحله 8 – برای آزمایش ایمیل اصلی از آدرس زیر دیدن کنید.
1 |
http://localhost:8000/sendbasicemail |
مرحله 9 – صفحه خروجی چیزی شبیه به این خواهد بود. صندوق ورودی خود را بررسی کنید تا خروجی اصلی ایمیل را ببینید.
مرحله 10 – برای آزمایش ایمیل HTML از آدرس زیر دیدن کنید.
1 |
http: // localhost: 8000/sendhtmlemail |
مرحله 11 – صفحه خروجی چیزی شبیه به این خواهد بود. صندوق ورودی خود را بررسی کنید تا خروجی ایمیل html را مشاهده کنید.
مرحله 12 – برای آزمایش ایمیل HTML با پیوست به آدرس زیر مراجعه کنید.
1 |
http: // localhost: 8000/sendattachmentemail |
مرحله 13 – خروجی زیر را می توانید مشاهده کنید
توجه – در فایل MailController.php آدرس ایمیل در متد from باید آدرس ایمیلی باشد که می توانید از آن آدرس ایمیل ارسال کنید. به طور کلی باید آدرس ایمیل پیکربندی شده در سرور شما باشد.
لیست جلسات قبل آموزش لاراول
- آموزش لاراول
- آموزش مقدماتی لاراول
- آموزش نصب لاراول
- آموزش ساختار برنامه در لاراول
- آموزش پیکربندی لاراول
- آموزش مسیریابی در لاراول
- آموزش Middleware در لاراول
- آموزش فضای نام در لاراول
- آموزش کنترل کننده ها در لاراول
- آموزش درخواست در لاراول
- آموزش کوکی در لاراول
- آموزش پاسخ در لاراول
- آموزش View در لاراول
- آموزش تمپلیت Blade در لاراول
- آموزش ریدایرکت کردن در لاراول
- آموزش کار با پایگاه داده در لاراول
- آموزش خطاها و ورود به سیستم در لاراول
- آموزش فرم ها در لاراول
- آموزش محلی سازی در لاراول
- آموزش اعتبار سنجی در لاراول
- آموزش بارگذاری فایل در لاراول
دیدگاه شما