[Series Email] Bài 1: Gửi Email bằng Apps Script cơ bản

https://hocggsheet.com/gui-email-bang-apps-script-co-ban/

[Series Email] Bài 1: Gửi Email bằng Apps Script cơ bản

0

Nội dung

Trong bài này, hocggsheet.com sẽ giới thiệu đến với các bạn các hàm gửi email bằng Apps Script cơ bản. Phạm vi của bài viết chỉ giới hạn trong Apps Script, ở bài tới mình sẽ chia sẻ thêm về cách kết hợp với Google Sheet.

Service MailApp và các hàm

Trước khi bắt đầu thì hãy dành 30s để nói về service MailApp. Cũng giống như SpreadsheetApp (truy cập và sử dụng Google Sheet), MailApp cho phép bạn làm việc với email. Ngoài ra còn có 1 service khác là GmailApp, nó giúp bạn tương tác trực tiếp với Google Gmail (gửi email, soạn nháp, lọc email,…). Còn MailApp thì chỉ tập trung vào việc soạn và gửi email mà thôi. Cũng chính vì vậy mà MailApp có ít function (2) hơn GmailApp, nhưng điều đó không có nghĩa chức năng gửi email của nó bị giới hạn đâu nhé.

Sau đây là các function chính mà mình sẽ giới thiệu với các bạn trong bài này. Lưu ý, hàm sendEmail có nhiều cách sử dụng khác nhau, các bạn có thể tham khảo thêm ở website của google. Bài này mình chỉ sử dụng 3 cách dùng điển hình nhất:

sendEmail(người nhận, chủ đề (subject), nội dung);

Ví dụ dưới đây sẽ:

  • Gửi 1 email đến địa chỉ hocggsheet@gmail.com

  • Chủ đề (subject) là Bài 1: gửi email cơ bản

  • Nội dung email: Hôm nay chúng ta sẽ biết thêm về cách gửi email bằng apps script

0123456

function guiEmail() { MailApp.sendEmail('hocggsheet@gmail.com', 'Bài 1: gửi email cơ bản', 'Hôm nay chúng ta sẽ biết thêm về cách gửi email bằng apps script', ); }

sendEmail(người nhận, chủ đề, nội dung, tùy chọn);

Ví dụ dưới đây sẽ:

  • Gửi 1 email đến địa chỉ hocggsheet@gmail.com

  • Chủ đề (subject) là Bài 1

  • Nội dung email sẽ là Xin chào, bạn khỏe không?

  • Tên người gửi là Học Google Apps Script Sheet

  • Ngoài ra, email còn được gửi đến các địa chỉ example1@gmail.comexample2@gmail.com. Chủ của 2 email này sẽ không xem được danh sách người nhận. Xem cách gửi email Bcc cho danh sách nhập từ Google Sheet

012345678

function guiEmail() { MailApp.sendEmail('hocggsheet@gmail.com', 'Bài 1', 'Xin chào, bạn khỏe không?', { name: 'Học Google Apps Script Sheet', bcc: 'example1@gmail.com, example2@gmail.com'} );}

Các tùy chọn

Giải thích

attachments

những file đính kèm

bcc

(Blind Carbon Copying) gửi bản copy của email cho những email sau, để trong dấu nháy và cách nhau bởi dấu phẩy. Người nhận có thể xem được danh sách người nhận

cc

(Carbon Copying) gửi bản copy của email cho những email sau, để trong dấu nháy và cách nhau bởi dấu phẩy. Người nhận không xem được danh sách người nhận. Không khác lắm so với “người nhận”

name

Tên người gửi

sendEmail(message);

Sau đây là cách dùng, nhưng các bạn hãy cứ đọc tiếp trước khi copy nó vào để chạy thử nhé:

01234567

function format() { MailApp.sendEmail({ to: 'hocggsheet@gmail.com', subject: 'Tiêu đề', htmlBody: body, });}

Để format cho nội dung email. Các bạn hãy vô websitehttps://wordtohtml.net/ để chuyển đổi phần nội dụng cần định dạng sang html. Mình có ví dụ sau:

Sau khi đã chuyển đổi sang html xong, các bạn copy đoạn code vừa chuyển đổi và paste sang Apps Script cho biến body như đoạn code dưới đây:

0123456789

function format() { var body = '<p style="text-align: center;"><em><span style="text-decoration: underline;"><span style="font-family: calibri, sans-serif;">Xin chào</span></span></em></p><p><strong><span style="font-family: calibri, sans-serif;"><span style="color: #ff0000;">Mình là admin</span>, chào mừng bạn đã đến với <span style="color: #339966;">hocggsheet.com</span></span></strong></p>' MailApp.sendEmail({ to: 'hocggsheet@gmail.com', subject: 'Tiêu đề', htmlBody: body, });}

Lưu ý: khi paste đoạn html vào Apps Script, các bạn phải để trong dấu nháy ‘ ‘ và trên cùng 1 dòng

Chạy chương trình và bạn sẽ được kết quả như sau:

Một số lưu ý khi Gửi email bằng Apps Acript

Số email giới hạn

Google và các ứng dụng do google cung cấp tuy nhìn đơn giản nhưng lại vô cùng mạnh mẽ. Cũng vì vậy nên nó rất dễ bị lợi dụng vào chuyện xấu như là spam email. Để hạn chế điều này, Google đã hạn chế số lượng email mà mỗi tài khoản có thể gửi đi một ngày. Nếu bạn đang sở hữu một tài khoản email bình thường (đuôi @gmail.com) thì khả năng cao là bạn chỉ có thể gửi tối đa 100 email / ngày thông qua apps script.

Để biết được còn có thể gửi được bao nhiêu email nữa, chúng ta dùng hàm getRemainingDailyQuota(). Ví dụ biến emailConLai sẽ được gán số lượng email còn lại có thể gửi:

01

var emailConLai = MailApp.getRemainingDailyQuota();

Last updated

Navigation

Lionel

@Copyright 2023