Thư viện Tạo & Xử lý Email Ruby mã nguồn mở
API Ruby miễn phí cho phép các ứng dụng Ruby truy cập và thao tác các tài khoản Gmail qua IMAP. Soạn, Gửi, Lưu trữ, Di chuyển & Xóa các tin nhắn Email qua Thư viện Ruby.
Thư viện Ruby-Gmail là gì?
Trong thời đại mà email vẫn đóng vai trò then chốt trong quy trình giao tiếp, các nhà phát triển phần mềm thường cần tương tác với Gmail một cách lập trình. Cho dù là trích xuất báo cáo, gửi thông báo tự động, hay giám sát hộp thư đến, việc có công cụ phù hợp có thể tiết kiệm hàng giờ công sức. Ruby-Gmail là một gem Ruby mã nguồn mở cung cấp giao diện đơn giản, mang phong cách Ruby để làm việc với Gmail qua giao thức IMAP. Được tạo bởi nhà phát triển dcparker, thư viện này trừu tượng hoá sự phức tạp của các lệnh IMAP thô và thay vào đó cung cấp các phương thức dễ đọc, biểu đạt để làm việc với hộp thư Gmail, email, nhãn, tệp đính kèm và hơn thế nữa. Chỉ với vài dòng mã Ruby, các nhà phát triển phần mềm có thể tạo và gửi các tin nhắn email đa phần (multipart) ở dạng văn bản thuần và/hoặc HTML, kèm hình ảnh nhúng và tệp đính kèm.
Ruby-Gmail là một viên ngọc ẩn cho những người Rubyist muốn có giao diện tối giản, thanh lịch để tự động hoá các tác vụ Gmail. Thư viện bao gồm nhiều tính năng làm việc với email Gmail, chẳng hạn như xác thực với Gmail, đọc, tìm kiếm hoặc lọc email, soạn và gửi tin nhắn, xóa hoặc gỡ bỏ email, lưu trữ tin nhắn, truy cập tệp đính kèm email, tổ chức email bằng nhãn và vân vân. Việc phát triển tích cực và tính mở của thư viện có nghĩa là nó tiếp tục được cải thiện và thích nghi với các thay đổi trong API của Gmail. Ngoài một số tính năng tuyệt vời, còn có một số hạn chế như OAuth2 chưa được hỗ trợ và dựa vào IMAP, có thể không hiển thị tất cả các tính năng đặc thù của Gmail. Nó là lựa chọn hoàn hảo cho các tác vụ script hoặc tích hợp Gmail vào các ứng dụng Ruby nhẹ.
Bắt đầu với Mail
Cách dễ nhất để cài đặt thư viện Ruby-Gmail là thông qua RubyGems. Vui lòng sử dụng lệnh sau để cài đặt nhanh chóng.
Cài đặt Ruby-Gmail qua Rubygems
gem install gmailXác thực email trong các ứng dụng Ruby
Thư viện Ruby-Gmail mã nguồn mở hỗ trợ nhiều phương thức xác thực bao gồm OAuth2 và tên người dùng/mật khẩu thông thường. Nó cho phép đăng nhập đơn giản bằng địa chỉ Gmail và mật khẩu hoặc mật khẩu dành riêng cho ứng dụng (được khuyến nghị cho các tài khoản có 2FA). Ngoài ra, nếu bạn cần sử dụng OAuth hoặc xử lý đăng nhập bên ngoài script, Ruby-Gmail hỗ trợ kết nối dựa trên khối. Lưu ý rằng vì bảo mật, tránh mã hoá cứng mật khẩu; hãy sử dụng biến môi trường hoặc quản lý bí mật. Các ví dụ mã sau đây minh họa cả hai phương pháp xử lý xác thực email thông qua API Ruby.
Cách thực hiện xác thực email cơ bản & OAuth2 trong các ứng dụng Ruby?
require 'gmail'
# Basic authentication (less secure)
gmail = Gmail.connect(username, password)
# OAuth2 authentication (recommended)
gmail = Gmail.connect(:oauth2, username, access_token)
Tìm kiếm và lọc email qua API Ruby
Thư viện Ruby-Gmail đã cung cấp đầy đủ chức năng để dễ dàng đọc và tìm kiếm các tin nhắn email trong các ứng dụng Ruby. Các nhà phát triển có thể truy cập hộp thư đến, các tin nhắn chưa đọc, hoặc tìm kiếm theo tiêu đề, người gửi, hoặc ngày một cách dễ dàng. Thư viện cung cấp giao diện tìm kiếm mạnh mẽ phản ánh các toán tử tìm kiếm của Gmail. Ví dụ sau đây minh họa cách các nhà phát triển phần mềm có thể áp dụng các phương pháp khác nhau để tìm kiếm tin nhắn email trong các ứng dụng Ruby.
Cách tìm kiếm tin nhắn email trong Gmail qua API Ruby?
# Search for unread emails from a specific sender
emails = gmail.inbox.emails(:unread, from: 'notifications@example.com')
# Search by subject
emails = gmail.inbox.emails(subject: 'Your monthly report')
# Complex searches
emails = gmail.inbox.emails(after: Date.parse('2023-01-01'),
before: Date.parse('2023-01-31'),
has: 'attachment')
Soạn và gửi email qua Ruby
Thư viện Ruby-Gmail mã nguồn mở đã cung cấp hỗ trợ đầy đủ cho việc tạo và gửi tin nhắn email chỉ với vài dòng mã Ruby. Thư viện giúp việc soạn và gửi email trở nên đơn giản, cho phép thêm nội dung HTML, tệp và hình ảnh đính kèm, gửi email hàng loạt, áp dụng kiểu dáng và định dạng, v.v. Ví dụ sau đây cho thấy các nhà phát triển phần mềm có thể thêm nội dung HTML và tệp đính kèm vào tin nhắn email trong các ứng dụng Ruby.
Cách thêm nội dung HTML & tệp đính kèm vào tin nhắn email qua các ứng dụng Ruby?
gmail.deliver do
to "recipient@example.com"
subject "Hello from Ruby-Gmail"
text_part do
body "This is a test email sent using Ruby-Gmail."
end
end
# add HTML content and attachments
gmail.deliver do
to "recipient@example.com"
subject "Invoice Attached"
text_part do
body "Please see the attached invoice."
end
add_file "/path/to/invoice.pdf"
end
Lưu trữ, xóa và di chuyển email qua API Ruby
Thư viện Ruby-Gmail rất giàu tính năng và có thể xử lý các hoạt động vòng đời email một cách mượt mà trong các ứng dụng Ruby. Các nhà phát triển phần mềm có thể dễ dàng quản lý email bằng cách di chuyển, gắn nhãn, đánh dấu đã đọc/chưa đọc, v.v. họ cũng có thể đánh dấu email là đã gắn sao, chưa đọc, hoặc thậm chí di chuyển chúng tới các thư mục khác. Ví dụ mã Ruby sau đây minh họa cách Đánh dấu Email, thêm nhãn và di chuyển tới thư mục trong các ứng dụng Ruby.
Cách đánh dấu email, thêm nhãn và di chuyển vào thư mục cụ thể qua thư viện Ruby?
email = gmail.inbox.emails.first
# Mark as read/unread
email.read!
email.unread!
# Add/remove labels
email.label('Important')
email.remove_label('Important')
# Move to folder
email.move_to('Archive')