Top Ad unit 728 × 90

HOT

coding

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.


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
Điền email 

Ấn submit
Ấn submit
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.
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"
Các bạn có thể xem demo Form của mình ở phần Demo đầu tiên.

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
Sau khi nhấn vào sẽ xuất hiện hộp thoại sau:
hộp thoại tạo spreadsheet
Giới thiệu sơ qua cho các bạn:
  • Ở 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.
Sau khi xong, bấm "Tạo".
Đâ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.

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 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).
Ở sheet Template giao diện mình tạo như sau:
giao diện demo sheet Template
Cấu trúc cơ bản 1 sheet Template gồm:
  • 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.
Nói qua ở phần nội dung của mình: ở đây mình muốn cho user biết số điểm họ làm được nên mình sẽ dùng  ${"Score"}. Tương tự, nếu bạn muốn show cho user biết bất cứ cái gì trong sheet Data bạn chỉ cần dùng ${"<Tên cột>"} với <Tên cột> là tên của 1 cột trong sheet Data, ở đây mình chọn cột Score.
  • 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.
Các bạn có thể coi đầy đủ Template của mình tại Google Spreadsheet.
Đế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
Đâ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)


Sau đó các bạn Save lại bằng Ctrl + S hoặc File -> Save. Vậy là chúng ta đã có code gửi mail từ template đến cho user rồi đó :D các bạn yên tâm là code sạch nhé!
Bây giờ chúng ta sẽ tạo Trigger cho nó để mỗi khi user submit Form thì sẽ tự động gửi mail đến user đó ngay.

2.6 Trigger cho Script

Các bạn ấn vào "Current project's triggers" như hình dưới:

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: 5

3 comments:

  1. 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

    ReplyDelete
    Replies
    1. Sheet ở 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.

      Delete
  2. Bạ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

All Rights Reserved by Tui Tự Code © 2014 - 2015
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.