Gửi tin nhắn SMS thông báo có mail mới từ Gmail

Gửi tin nhắn SMS thông báo có mail mới từ GmailBạn muốn Gmail gửi tin nhắn SMS thông báo mỗi khi bạn có email mới hoặc thông báo mỗi khi có email từ một người quan trọng nào đó ? Hồi xưa, tôi đã giới thiệu cách làm với hộp mail Yahoo kết hợp với hộp mail của Mobifone. Hôm nay, tôi sẽ giới thiệu cách làm với Gmail.

Cách làm này sử dụng Goolge Script kết hợp với tính năng nhắc nhở bằng tin nhắn SMS của Goolge Calendar. Bạn có thể tùy ý đưa ra điều kiện nhận tin nhắn, đại loại như là sẽ nhận được SMS nếu :

– Có mail mới, mỗi email gửi 1 tin nhắn với nội dung là tiêu đề của mail đó
– Có mail mới trong 1 label cố định đã được định nghĩa bằng cách sử dụng filter.

Tuy nhiên Goolge có hạn chế số lượng SMS gửi hằng ngày, vậy nên tốt nhất là viết một đoạn mã sao cho Goolge chỉ gửi 1 tin nhắn SMS thông báo có email mới, cho dù bạn đã nhận được 100 email đi chăng nữa.

Kịch bản trong bài viết này là :

Cứ vào khoảng 1 tiếng, Goolge sẽ kiểm tra hộp thư của bạn. Nếu phát hiện có mail mới, Goolge sẽ gửi một tin nhắn SMS vào điện thoại của bạn với nội dung do bạn soạn thảo hoặc sẽ lấy tiêu đề của email mới nhất làm nội dung tin nhắn

Cách làm như sau :

1. Kết nối điện thoại với tài khoản Goolge Calendar :
– Truy cập vào : google.com/calendar > đăng nhập vào tài khoản của bạn > vào “Calendar Settings” > chọn thẻ “Mobile Setup” :

Gửi tin nhắn SMS thông báo có mail mới từ Gmail

– Nhập vào số điện thoại của bạn, bấm “Send verification code” > nhập dãy số bạn nhận được từ điện thoại vào ô “Verification code” > bấm “Finish setup”

2. Viết Google Script :

– Truy cập vào : script.google.com > bấm “Start Scripting” nếu bạn thấy > hộp thoại hiện ra :

Gửi tin nhắn SMS thông báo có mail mới từ Gmail

– Chọn “Gmail” và Google sẽ mở trang soạn thảo với nhiều hàm có sẵn, bạn hãy xóa trắng nội dung và thay bằng đoạn mã sau :

function SendSMS() {
var thread = GmailApp.getInboxThreads(0, 1);
if (thread.length != null)
{
if (thread[0].isUnread())
{
if (thread[0].getLabels()[0] == null || thread[0].getLabels()[0].getName() != "TempLabel")
{
thread[0].addLabel(GmailApp.createLabel("TempLabel"));
var smsContent = thread[0].getMessages()[0].getSubject();
var now = new Date().getTime();
CalendarApp.createEvent(smsContent, new Date(now+60000), new Date(now+60000)).removeAllReminders().addSmsReminder(0);
}
}
}
};

Đoạn mã trên sẽ kiểm tra email mới nhất mà bạn có. Nếu email này vẫn chưa được đọc thì nó sẽ tiến hành gửi tin nhắn SMS thông báo cho bạn, đồng thời gán cho email mới nhất này cái nhãn tôi tạm gọi là “TempLabel”. Những lần sau, nó sẽ dựa vào nhãn này để xem có thêm email mới nào không, nếu có nó sẽ gửi tin nhắn, ngược lại sẽ không làm gì cả.

Bạn bấm vào biểu tượng Save > đặt tên và lưu lại. Sau đó bấm Run > chọn SendSMS để chạy thử > bạn sẽ được yêu cầu xác thực (chỉ lần chạy đầu tiên) > xác thực xong thì chạy lại và đợi khoảng 1 phút bạn sẽ thấy điện thoại nhận được tin nhắn như sau :
xxx

3. Tạo Trigger :
Sau khi viết xong đoạn mã bên trên, bạn cần phải tạo một trigger để chương trình tự động chạy theo lịch hàng ngày, hàng tuần hay hàng tháng. Từ giao diện Google Script bên trên, bấm vào menu “Resources” > chọn “Current project’s triggers” > hộp thoại hiện ra :

Gửi tin nhắn SMS thông báo có mail mới từ Gmail

– Chọn “…Click here to add one now” > chọn các thông số, nếu bạn muốn kiểm tra hộp mail mỗi giờ thì chọn như sau :

Gửi tin nhắn SMS thông báo có mail mới từ Gmail

– Xong bấm nút Save

Toàn bộ đoạn mã :

Gửi tin nhắn SMS thông báo có mail mới từ Gmail

Như tôi đã nói bất kể bạn nhận được bao nhiêu email mới thì đoạn mã bên trên, khi chạy, chỉ lấy ra tiêu đề email mới nhất và gửi duy nhất 1 tin nhắn thông báo cho bạn.

Bạn có thể chỉnh sửa đoạn mã để làm việc theo ý của bạn. Hoặc nếu bạn muốn nhận được tin nhắn SMS cho những email quan trọng thì hãy tạo một nhãn email (label) sử dụng bộ lọc email, sau đó chỉnh sửa đoạn mã để nó chỉ gửi tin nhắn nếu email được gắn một nhãn nào đó do bạn qui định.