آموزش ارسال ایمیل در لاراول

3 سال پیش

آموزش ارسال ایمیل در لاراول

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش ارسال ایمیل در لاراول خواهیم پرداخت.

لاراول از کتابخانه SwiftMailer غنی از ویژگی های رایگان برای ارسال ایمیل استفاده می کند. با استفاده از تابع کتابخانه، می توانیم به راحتی ایمیل ها را بدون دردسر زیاد ارسال کنیم. الگوهای پست الکترونیکی به همان شیوه بارگذاری می شوند، به این معنی که می توانید از نحو Blade استفاده کرده و داده ها را به قالب های خود تزریق کنید.

جدول زیر نحو و ویژگی های تابع ارسال را نشان می دهد –

نحوه void send(string|array $view, array $data, Closure|string $callback)
پارامترها
  • view(string|array)$ − نام view حاوی پیام ایمیل
  • data(array)$ − آرایه ای از داده ها که برای مشاهده منتقل می شوند
  • callback$ − یک کال بک بسته که نمونه پیام را دریافت می کند ، به شما امکان می دهد گیرندگان، موضوع و سایر جنبه های پیام را سفارشی کنید

 

نحو void send(string|array $view, array $data, Closure|string $callback)
پارامتر
    • view(string|array)$ − نام view حاوی پیام ایمیل
    • data(array)$ − آرایه ای از داده ها که برای مشاهده منتقل می شوند
    • 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 است. اگر می خواهید ایمیل متنی ساده ارسال کنید ، از نحو زیر استفاده کنید.

Mail::send([‘text’=>’text.view’], $data, $callback);

 

در این نحو، اولین آرگومان یک آرایه می گیرد. از متن به عنوان نام کلید نمای به عنوان مقدار کلید استفاده کنید.

مثال ارسال ایمیل در لاراول

مرحله ۱ – اکنون ایمیلی از حساب Gmail ارسال می کنیم و برای این کار باید حساب Gmail خود را در فایل محیط لاراول – فایل env. پیکربندی کنید. تأیید صحت ۲ مرحله ای را در حساب Gmail خود فعال کنید و یک گذرواژه خاص برنامه ایجاد کنید و به دنبال آن پارامترهای .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

 

مرحله ۲ – پس از تغییر فایل env. دو دستور زیر را برای پاک کردن حافظه پنهان و راه اندازی مجدد سرور لاراول اجرا کنید.

php artisan config:cache

 

مرحله ۳ – با اجرای دستور زیر یک کنترلر به نام MailController ایجاد کنید.

php artisan make:controller MailController --plain

 

مرحله ۴ – پس از اجرای موفق  خروجی زیر را دریافت خواهید کرد –

MailController
مرحله ۵ – کد زیر را در کپی کنید

app/Http/Controllers/MailController.php file.

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.";
   }
}

 

مرحله ۶ – کد زیر را در فایل resources/views/mail.blade.php کپی کنید.

resources/views/mail.blade.php

<h1>Hi, {{ $name }}</h1>
l<p>Sending Mail from Laravel.</p>

 

مرحله ۷ – خطوط زیر را در app/Http/route.php اضافه کنید.

app/Http/route.php

Route::get('sendbasicemail','MailController@basic_email');
Route::get('sendhtmlemail','MailController@html_email');
Route::get('sendattachmentemail','MailController@attachment_email');

 

مرحله ۸ – برای آزمایش ایمیل اصلی از آدرس زیر دیدن کنید.

http://localhost:8000/sendbasicemail

 

مرحله ۹ – صفحه خروجی چیزی شبیه به این خواهد بود. صندوق ورودی خود را بررسی کنید تا خروجی اصلی ایمیل را ببینید.

Basic Email Sent

مرحله ۱۰ – برای آزمایش ایمیل HTML از آدرس زیر دیدن کنید.

http: // localhost: 8000/sendhtmlemail

 

مرحله ۱۱ – صفحه خروجی چیزی شبیه به این خواهد بود. صندوق ورودی خود را بررسی کنید تا خروجی ایمیل html را مشاهده کنید.

Basic Email Sent
مرحله ۱۲ – برای آزمایش ایمیل HTML با پیوست به آدرس زیر مراجعه کنید.

http: // localhost: 8000/sendattachmentemail

 

مرحله ۱۳ – خروجی زیر را می توانید مشاهده کنید

HTML Email
توجه – در فایل MailController.php آدرس ایمیل در متد from باید آدرس ایمیلی باشد که می توانید از آن آدرس ایمیل ارسال کنید. به طور کلی باید آدرس ایمیل پیکربندی شده در سرور شما باشد.

 

منبع.

 

 

لیست جلسات قبل آموزش لاراول

  1. آموزش لاراول
  2. آموزش مقدماتی لاراول
  3. آموزش نصب لاراول
  4. آموزش ساختار برنامه در لاراول
  5. آموزش پیکربندی لاراول
  6. آموزش مسیریابی در لاراول
  7. آموزش Middleware در لاراول
  8. آموزش فضای نام در لاراول
  9. آموزش کنترل کننده ها در لاراول
  10. آموزش درخواست در لاراول
  11. آموزش کوکی در لاراول
  12. آموزش پاسخ در لاراول
  13. آموزش View در لاراول
  14. آموزش تمپلیت Blade در لاراول
  15. آموزش ریدایرکت کردن در لاراول
  16. آموزش کار با پایگاه داده در لاراول
  17. آموزش خطاها و ورود به سیستم در لاراول
  18. آموزش فرم ها در لاراول
  19. آموزش محلی سازی در لاراول
  20. آموزش اعتبار سنجی در لاراول
  21. آموزش بارگذاری فایل در لاراول
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه