Hướng dẫn gửi Mail trong Laravel 7.0

Đăng bởi:

Nguyễn Hồng Quân

Đăng ngày:

Feb 23, 2021

Đăng ở:

Kiến Thức Cơ Bản

Xin chào các bạn, gửi mail thông báo tự động là một tính năng rất cần thiết khi xây dựng một website (nhất với một Website bán hàng TM). Vậy làm thể nào để gửi được Mail tự động? Bài viết dưới đây sẽ phần nào giúp các bạn xây dựng tính năng cho Website của mình.

Trong bài viết này mình sử dụng Gmail làm mail Server (SMTP)

1. Cài đặt Project Laravel

composer create-project --prefer-dist laravel/laravel:^7.0 send-mail

2. Cấu hình file .env

- Sau khi cài đặt xong project Laravel mới chúng ta sẽ có file .env như thế này.

env

 - Vùng khoanh đỏ chính là chỗ để chúng ta cấu hình thông tin mail Server

Để thiết lập Mail server SMTP cho Gmail, chúng ta hãy làm theo hướng dẫn ở đây

Or link: https://sudo.vn/blog/huong-dan-cai-dat-smtp-gmail-va-cach-cau-hinh-smtp-gmail-de-gui-thu-mien-phi-2021.html

- Chúng ta cần chú ý các thông tin để cấu hình vào file .env :

+ Mật khẩu ứng dụng

+ Địa chỉ Email

Lưu mật khẩu SMTP vừa tạo

Lưu mật khẩu SMTP vừa tạo

 - Ngoài ra chúng ta dùng Mail Server là Gmail nên các thông số cần:

  1. Giao thức: SMTP
  2. Host: smtp.gmail.com.
  3. Port (Cổng vào): 587.
  4. Encryption (Mã hóa): TLS.

- Cấu hình file .env sẽ như sau:

env-1-2

 

 Vậy là đã xong phần cấu hình file .env

 3. Tạo Mailables

- Chạy lệnh

php artisan make:mail SendMail

- Trong App sẽ tạo tự động Mail\SendMail.php và chúng ta sẽ xử file này như hình:

mail

 

 4. Cấu hình giao diện nội dung mail gửi đi

- Tại resources\views tạo folder " mails " để chứa blade: send_mail.blade.php

- Xử lý giao diện mail gửi đi trong resources\views\mails\send_mail.blade.php:

mail-blade

 - Chúng ta đã tạo được giao diện test mail cơ bản khi gửi đi.

5. Tạo form để điền thông tin test gửi mail

- Ở đây mình tạo 1 form đơn giản, email điền vào chính là email nhận thông báo email đến.

mail-blade-1

 6. Tạo Controller xử lý form và gửi mail

Chạy lệnh:

php artisan make:controller SendMailController

- Xử lý trong controller

controller

- Và đây là những gì đã có sau khi làm thành công với mail được gửi đi:

 

gg-sendmail

 

Vậy là đã xong. Mọi người nhớ chạy lệnh: cache:clear, config:clear, optimize, và route:clear nhé để nhận cấu hình file .env đã cài đặt

Các bạn hãy cho ý kiến nhận xét để bài viết sau sẽ tốt hơn và dễ hiểu hơn nhé. Thanks

Link demo: https://github.com/nguyenquan89/send_mail_laravel7 

Tham khảo hướng dẫn chi tiết: https://laravel.com/docs/8.x/mail

default_image
Tác giả: Nguyễn Hồng Quân
ADMIN

Bình luận

name
Khang 19.11.2021 lúc 18:43

$data trong sendmail là gì v bạn nhỉ? có cách nào để mình truyền 1 biến vào trong view để gửi đi không

name
đat 11.07.2021 lúc 21:24

vậy làm sao cấu hình trên host cpanel ad

Để lại bình luận

Email và số điện thoại sẽ không được công khai. Những trường bắt buộc được đánh dấu *

Repository deleted Your repository has remove
Loading