
آموزش ارسال email ایمیل در Laravel لاراول با کد نمونه
لاراول برای ارسال ایمیل، از یک کتابخانه ای با امکانات فراوان، به نام SwiftMailer استفاده می کند. با استفاده از توابعِ این کتابخانه، ما به راحتی می توانیم بدون هیچ مشکلی هرتعداد، ایمیل ارسال کنیم.
قالب هایِ ایمیل (mail templates) مشابه viewها، بارگزاری می شوند. این بدان معنا است که، به همان روشی که از قالب های blade استفاده می کردید، می توانید برای ایمیل هم استفاده کنید و داده ها(data) را به آن تزریق کنید.
جدول زیر syntax و ویژگی های عملکرد(attributes) تابع send را نشان می دهد :
Syntax |
void send(string|array $view, array $data, Closure|string $callback) |
پارامترها |
|
مقدار برگشتی |
هیچ |
توصیف |
ارسال ایمیل |
پارامتر سوم، یک تابع بی نام (clouser) است که نمونه ای از پیام را دریافت می کند، وبه شما این امکان را می دهد که گیرنده ها، فرستنده ها، موضوع ها و سایر جنبه های پیام ایمیل را سفارشی کنید.
$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 یا TEXT ارسال کرد. شما می توانید نوع ایمیلی که می خواهید ارسال کنید را در آرگومانِ اولِ تابعِ send تعیین کنید . نوع پیش فرض HTML است. اگر می خواهید ایمیل از نوع text باشد، از syntax زیر استفاده کنید.
Mail::send([‘text’=>’text.view’], $data, $callback);
در این syntax، اولین آرگومان، یک آرایه می گیرد، بطوریکه از "text" به عنوان کلید (key) واز " نامِ view" به عنوان مقدار کلید (value) استفاده می کند.
مثال :
مرحله 1 – دراین مرحله ما قصد داریم از اکانت gmail خودمان، یک ایمیل ارسال کنیم. برای این منظور باید در فایل .env، حساب gmail خود را، در محل مشخص شده قرار دهیم.
برای امنیت بیشتر، تایید صحت دو مرحله ای (2step verification) را درgmail خود فعال کنید.و یک گذر واژه ویژه ی برنامه، ایجاد کنید و در پارامترهای فایل .env وارد کنید. به کدهای زیر دقت کنید.
.env
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
- MAIL_DRIVER : درایور ایمیل را مشخص می کند
- MAIL_HOST : هاست ایمیل را مشخص می کند، برای سرور gmail از smtp.gmail.com استفاده می کنیم
- MAIL_PORT : پورت ایمیل را انتخاب می کند
- MAIL_USERNAME : ایمیلی که قصد دارید با آن ایمیل ارسال کنید(ایمیل فرستنده)
- MAIL_PASSWORD : پسورد ایمیل را وارد کنید
- MAIL_ENCRYPTION : نوع رمزگذاری اطلاعات را مشخص می کند که توصیه می کنیم روی tls قرار دهید
مرحله 2 – پس از تغییر فایل .env، دستورات زیر را اجرا کنید تا cache را پاک کنید و سرور Laravel را راه اندازی مجدد کنید.
php artisan config:cache
مرحله 3 – با اجرای دستور زیر، یک کنترلر به نام MailController ایجاد کنید.
php artisan make:controller MailController --plain
مرحله 4 - بعد از اجرای موفق، خروجی زیر را دریافت خواهید کرد.
مرحله 5 –کدهای زیر را در app/Http/Controllers/MailController.php قرار دهید.
<?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 قرار دهید.
<h1>Hi, {{ $name }}</h1>
l<p>Sending Mail from Laravel.</p>
مرحله 7 –route های زیر را در فایل app/Http/routes.php وارد کنید.
Route::get('sendbasicemail','MailController@basic_email');
Route::get('sendhtmlemail','MailController@html_email');
Route::get('sendattachmentemail','MailController@attachment_email');
مرحله 8 – مرورگر خود را باز کنید و URL زیر را در آن وارد کنید.
http://localhost:8000/sendbasicemail
مرحله 9 – صفحه نمایش خروجی چیزی شبیه به این تصویر خواهد بود. صندوق ورودی خود را برای مشاهده ایمیل ارسال شده، بررسی کنید.
مرحله 10 – مرورگر خود را باز کنید و URL زیر را در آن وارد کنید.
http://localhost:8000/sendhtmlemail
مرحله 11 – صفحه نمایش خروجی چیزی شبیه به این تصویر خواهد بود. صندوق ورودی خود را برای مشاهده ایمیل ارسال شده، بررسی کنید.
مرحله 12 – مرورگر خود را باز کنید و URL زیر را در آن وارد کنید.
http://localhost:8000/sendattachmentemail
مرحله 13 – صفحه نمایش خروجی چیزی شبیه به این تصویر خواهد بود.
این فصل در یک نگاه:
آشنایی با امکانات جدید لاراول ۷…
برخی از سرفصل های این پکیج آموزشی : لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…این فصل در یک نگاه:
بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…
وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…این فصل در یک نگاه:
مباحث تکمیلی فریم ورک لاراول…
فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…این فصل در یک نگاه:
مباحث مقدماتی فریم ورک react.js…
توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …