Gửi email tự động bằng Google App Script
Hello!
Sau khi vọc vạch Google App Script để hoàn thành đồ án thì hôm nay mình sẽ chia sẻ cho các bạn cách dùng GAS (Google App Script) kết hợp với Google Form và Google Spreadsheet để làm 1 ứng dụng gửi mail tự động. nội dung email phụ thuộc vào kết quả của Google Form.
Bước 2: Sau khi ấn submit, sẽ có 1 email gửi về mail bạn đã điền. Ở đây mình gửi về email kết quả (số điểm) và một số phương pháp học anh văn dựa trên kết quả đó thông qua các câu hỏi tiếng Anh trên google form mà các bạn đã điền ở bước 1.
Các bạn có thể xem demo Form của mình ở phần Demo đầu tiên.
Sau khi nhấn vào sẽ xuất hiện hộp thoại sau:
Giới thiệu sơ qua cho các bạn:
Sheet Data chính là nội dung người điền Form nhập vào được lưu lại, chúng ta sẽ tạo 1 Sheet Template để tạo nội dung cần gửi đến cho người điền Form (tạm gọi là user).
Cấu trúc cơ bản 1 sheet Template gồm:
Đây chính là phần dùng GAS (Google App Script), ở đây mình sẽ chèn code gửi email tự động. Các bạn copy phần code dưới đây là paste vào code.gs (Đã cập nhật)
1 trang quản lí Trigger hiện ra, các bạn bấm "Add Trigger" sẽ ra như sau:
Các bạn chọn như trong hình, giải thích tí là các bạn đã chọn khi 1 user submit Form thì nó sẽ chạy code của các bạn. Xong và giờ chỉ việc save lại thôi!
Sau khi vọc vạch Google App Script để hoàn thành đồ án thì hôm nay mình sẽ chia sẻ cho các bạn cách dùng GAS (Google App Script) kết hợp với Google Form và Google Spreadsheet để làm 1 ứng dụng gửi mail tự động. nội dung email phụ thuộc vào kết quả của Google Form.
1. Demo
Nói sơ qua phần ứng dụng Demo của mình, mình sẽ tạo 1 Form có các câu hỏi tiếng Anh, user sẽ làm các câu hỏi và sau khi ấn submit thì 1 email sẽ được gửi đến chọ họ. Email này sẽ dựa trên kết quả làm bài (tính theo điểm của google Quiz) và sẽ đưa ra phương pháp học hơp lí, ở đây mình có 2 phương pháp học: Mất gốc và Đang học.
Bước 1: vào link Google Form Demo. Điền thông tin email và nếu rãnh thì có thể làm vài câu hỏi tiếng Anh bên dưới cho vui nhé 😛 đồ án của mình đấy, sau khi xong các bạn ấn submit như hình dưới
Điền email |
Ấn submit |
Kết quả gửi về email |
Done! Demo đơn giản vậy thôi 😜 nói chứ tốn cả ngày của mình đấy. Nếu các bạn hứng thú hoặc đang tìm kiếm giải pháp gửi email tương tự phía trên thì cùng đọc tiếp để xem cách làm chi tiết nhá!
2. Thực hiện
Mình sẽ hướng dẫn các bạn đơn giản nhất có thể cho những bạn không rành về code hoặc GAS cũng có thể thực hiện được ngay nhé. Let's go!
2.1 Chuẩn bị
Để làm được ứng dụng như trên các bạn chỉ cần có: tài khoản google và 15 phút.
2.2 Tạo và tùy chỉnh Google Form
Đầu tiên, tạo 1 Google Form bằng cách truy cập vào Google Form và dùng tài khoản google để tạo cho mình 1 form. Form ở trên của mình có dạng Quiz, để chỉnh sang Quiz các bạn xem hình dưới
ấn "Cài đặt" -> "Bài kiểm tra" -> bật "Đặt làm bài kiểm tra" |
2.3 Liên kết Form với Spreadsheet và chèn Script
Sau khi tạo xong Form, bạn sẽ cần đến 1 nơi lưu trữ thông tin người làm Form nhập vào và cũng là nơi thực hiện việc gửi email tự động, Spreadsheet sẽ giúp chúng ta làm điều đó!
Đầu tiên, bạn cần liên kết Form với Spreadsheet như hình dưới:
ấn vào icon tạo spreadsheet |
hộp thoại tạo spreadsheet |
- Ở số 1: có 2 lựa chọn cho các bạn, nếu bạn mới dùng chúng ta sẽ chọn "Tạo bảng tính mới", nếu bạn đã có bảng tính sẵn thì tick vào "Chọn bản tính hiện có" và chọn vào bảng tính bạn muốn liên kết.
- Ở số 2: khi chọn "Tạo bảng tính mới", sẽ hiện cho bạn tên bảng tính muốn tạo, bạn có thể sửa tên mình muốn.
Đây là bảng tính của mình khi dùng Form và chọn chế độ Quiz:
Demo bảng tính liên kết Form |
Xong, khi có người điền Form, thông tin câu trả lời sẽ được ghi lại, khi chọn Quiz chúng ta cần các phần email, score.
Chú ý: Ở sheet Data mình có thêm 1 cột "Send successfully" để tránh bị lặp lại việc gửi mail cho user đã gửi trước đó khi có 1 user khác submit Form.
Các bạn có thể xem sheet Data của mình tại Google Sheet Data.
Chú ý: Ở sheet Data mình có thêm 1 cột "Send successfully" để tránh bị lặp lại việc gửi mail cho user đã gửi trước đó khi có 1 user khác submit Form.
Các bạn có thể xem sheet Data của mình tại Google Sheet Data.
2.4 Tạo nội dung gửi mail trong spreadsheet
Ở đây chúng ta sẽ tạo nội dung mà mình muốn gửi đến cho người điền Form, các bạn cần tạo và đặt tên như sau:
Sheet liên kết với Form đặt "Data", tạo thêm 1 sheet đặt "Template" |
Ở sheet Template giao diện mình tạo như sau:
giao diện demo sheet Template |
- Tên người gửi (1): đây sẽ là tên hiện lên khi user nhận được email
- Tiêu đề (2): đây là tiêu đề email
- Nội dung (3): đây sẽ là nội dung mail bạn muốn gửi đến.
- Mất gốc (4): Đây là phần nội dung thêm mình muốn gửi đến user, mình sẽ phân loại nội dung này thành 2 phần là Mất gốc hoặc Đang học và sẽ dựa trên số điểm (Score) để gửi đến user phần Mất gốc hoăc Đang học tương ứng. Mình chọn gửi phần Mất gốc khi điểm user từ 0->10 và gửi phần Đang học khi user đạt từ 10->20 điểm.
Đến đây thì các bạn đã gần như hoàn thiện ứng dụng của mình rồi đó 😁 phần tiếp theo sẽ liên quan đến code nhưng đừng nản chí nhé vì chỉ còn mỗi phần đó nữa thôi!
2.5 Chèn Script
Vào Sheet Template, trên thanh công cụ chọn "Tool" -> "Script Editor"
giao diện chèn script |
1 trang quản lí Trigger hiện ra, các bạn bấm "Add Trigger" sẽ ra như sau:
Các bạn chọn như trong hình, giải thích tí là các bạn đã chọn khi 1 user submit Form thì nó sẽ chạy code của các bạn. Xong và giờ chỉ việc save lại thôi!
3. Tổng kết
Vậy là mình đã hướng dẫn cho các bạn dùng GAS, Form, Spreadsheet để làm 1 ứng dụng gửi mail tự động khi có submit từ Form thông qua Spreadsheet ngoài ra GAS còn có rất nhiều thứ thú vị để các bạn thỏa sức sáng tạo với nó, chúc các bạn tạo ra nhiều ứng dụng khác hay và thú vị hơn 😀 Có thắc mắc gì trong bài viết các bạn cứ comment bên dưới nhé. Thanks ~
Gửi email tự động bằng Google App Script
Reviewed by Phat Nguyen
on
January 19, 2019
Rating:
bạn ơi sao mình submit rồi mà không thấy email nào gửi vào email mình vậy
ReplyDeleteSheet ở demo có lỗi nên không gửi được, bạn cứ làm theo chỉ dẫn trong bài để tạo sheet hoạt động tốt cho mình nha.
DeleteBạn nào có thắc mắc cần giải đáp về bài này có thể pm faceook mình https://www.facebook.com/Senlucifer
ReplyDelete