Hướng dẫn lấy app gmail gửi mail laravel

Trong 1 product, tạo 1 chức năng tự động gửi email đến tay khách hàng là điều cần thiết. Vậy làm thế nào để tạo 1 chức năng gửi email cho khách hàng trên chính website của mình. Bài viết này mình sẽ hướng dẫn các bạn cấu hình email trong laravel framework.

B1: Bật xác minh 2 bước và tạo mật khẩu ứng dụng cho tài khoản email

  • Truy cập vào Tài khoản google
  • Chọn Bảo Mật
  • Chọn Xác minh 2 bước
  • Hoàn thành xác minh bằng số điện tạo
  • Chọn Mật khẩu ứng dụng

Sau khi hoàn thành các bước trên bạn sẽ nhận được mật khẩu ứng dụng bao gồm 16 chữ cái, đây là phần rất cần thiết để cấu hình email trong Laravel Framework.

B2: Cấu hình file .ENV

Tìm dòng tương ứng và sửa lại nhé. nếu không có thì bạn ghi thêm vào là được. .env

MAIL_DRIVER=smtp  
MAIL_HOST=smtp.gmail.com  
MAIL_PORT=587  
[email protected]  
MAIL_PASSWORD=apppassword  
MAIL_ENCRYPTION=tls  

Với gmail thì ta sẽ sử dụng phương thức gửi mail là smtp, host của gmail là smtp.gmail.com, cổng để kết nối đến gmail là 587 và lưu ý MAIL_USERNAME chính là gmail của bạn và bạn cần phải thay [email protected] = gmail của bạn nhé không là tòi đấy. MAIL_PASSWORD chính là mật khẩu ứng dụng mà bạn vừa tạo ở bước 1.

Hướng dẫn lấy app gmail gửi mail laravel

Cấu hình email trong laravel

B3: Tạo form liên hệ

Nếu bạn đã có sẵn form liên hệ thì bạn có thể sử dụng form liên hệ của chính bạn, nếu đây chỉ là 1 dự án mẫu thì bạn có thể sao chép theo code của mình

0

Sau khi tạo form, chúng ta tiến hành thêm route cho form này ở file routes/web.php, ở đây mình tạo route ‘contact’

Route::get('contact', [  
  'uses' => 'IndexController@index',  
  'as' => 'front.fb'  
]);

B4: Xử lý controller

Giờ chúng ta vào

1 và xem. Nếu đã có IndexController.php chúng ta sẽ viết ở file này, nếu chưa có file IndexController.php chúng ta sẽ tạo controller bằng cách mở terminal cho project và chạy lệnh

php artisan make:controller IndexController

Tiếp theo chúng ta sẽ custom IndexController như sau:

lệnh

all();  
        Mail::send('mailfb', array('name'=>$input["name"],'email'=>$input["email"], 'content'=>$input['comment']), function($message){  
          $message->to('[email protected]', 'Visitor')->subject('Visitor Feedback!');  
      });
        return redirect()->route('form.fb')->with('flash_message', 'Send message successfully!');  
    }  
  
}

Nhìn vào code phía trên chúng ta có thể hiểu như sao

Request: dùng để lấy giá trị trong form khi post lên server.

Mail: dùng để gửi email trong Laravel.

mailfb: Route của giao diện email chúng ta cần gửi, có thể chỉnh css theo ý muốn

->to: Mail sẽ nhận được email chúng ta gửi.

->subject: Tiêu đề email.

return: điều hướng về route form ban đầu chúng ta tạo với tin nhắn ‘Send message successfully’.

Sau đó chúng ta tạo file mailfb.blade.php ở trong folder /app/resource/view/ rồi thêm nội dung sau

Sau khi tạo form, chúng ta tiến hành thêm route cho form này ở file routes/web.php, ở đây mình tạo route ‘contact’

{{$name}}  
{{$email}}  
{{$content}}

Trên đây là 4 bước để cấu hình email trong laravel, bạn chỉ cần cấu hình 1 lần là có thể sử dụng ở mọi nơi trong project của bạn. Chúc các bạn thành công