Việc gửi email trong các ứng dụng web là một tính năng phổ biến, ví dụ như để gửi email xác nhận đăng ký, khôi phục mật khẩu, hay thông báo đến người dùng. Bài viết này sẽ hướng dẫn bạn cách gửi email đơn giản trong Spring Boot và mở rộng với việc sử dụng biến môi trường (.env) để có thể dễ dàng tùy biến.
Để tạo dự án Spring Boot: trước tiên, bạn cần tạo một dự án Spring Boot:
- Truy cập start.spring.io để khởi tạo dự án mới.
- Chọn các thông tin sau:
- Project: Maven
- Language: Java
- Spring Boot Version: Chọn phiên bản phù hợp (ví dụ: 2.7.x hoặc 3.x).
- Dependencies: Thêm Spring Web và Java Mail Sender.
Hoặc thêm dependency vào pom.xml:
1.Tạo mật khẩu ứng dụng từ email
Nếu bạn sử dụng Gmail để gửi mail, bạn cần tạo mật khẩu ứng dụng thay vì sử dụng mật khẩu chính. Làm theo hướng dẫn tại đây: Tạo mật khẩu ứng dụng.
2.Config
- Thêm cấu hình sau vào file application.properties:
Lưu ý:
- Thay example@gmail.com bằng email của bạn.
- Thay examplepassword bằng mật khẩu ứng dụng đã tạo ở bước trước.
- Cấu trúc thư mục (Folder Structure):
3.Gửi mail đơn giản
Tạo một class EmailService với annotation @Service để gửi email:
Ví dụ: Trong POSTMAN, truy cập endpoint sendSimpleMail với nội dung như sau:
=> Điều này có nghĩa rằng thư đã được gửi đi thành công.
4.Mở rộng: Sử dụng .env để lưu trữ thông tin nhạy cảm
Trong quá trình phát triển và triển khai ứng dụng, việc quản lý các biến môi trường (environment variables) là một vấn đề quan trọng. Biến môi trường cho phép bạn tùy chỉnh cấu hình của ứng dụng mà không cần phải thay đổi mã nguồn, đồng thời giữ cho ứng dụng của bạn an toàn hơn bằng cách không lưu trữ thông tin nhạy cảm trực tiếp trong mã nguồn. Khi làm việc với Spring Boot, sử dụng file env (environment file) là một cách tiếp cận phổ biến và hiệu quả để quản lý các biến môi trường.
- Cài đặt:
- Thêm file .env ở root của project (thường là cùng cấp với application-property)
- Trong .env, nội dung sẽ như sau:
- Bên trái là tên biến, bên phải là giá trị cần bảo vệ. Lưu ý rằng, không nên có khoảng trắng 2 bên dấu ‘=’, điều đó có thể gây ra lỗi khi đọc giá trị.
- Trong application-property:
Kết luận:
Bây giờ bạn đã có một ứng dụng Spring Boot có thể gửi email đơn giản và bảo mật thông tin nhạy cảm bằng .env. Đây là một kỹ thuật hữu ích để giữ cho ứng dụng an toàn và dễ dàng cấu hình khi triển khai ở các môi trường khác nhau. Hy vọng bài viết này giúp ích cho bạn trong quá trình phát triển ứng dụng! Sucodev Community luôn sẵn sàng đồng hành cùng bạn!
Fanpage: https://www.facebook.com/Sucodev.Community
Group Zalo: https://zalo.me/g/bxdjch748



