Відкрита Ruby бібліотека створення та обробки електронної пошти

Безкоштовний Ruby API, який дозволяє Ruby‑додаткам отримувати доступ і керувати обліковими записами Gmail через IMAP. Створюйте, надсилайте, архівуйте, переміщуйте та видаляйте електронні повідомлення за допомогою Ruby‑бібліотеки.

Що таке бібліотека Ruby-Gmail?

У час, коли електронна пошта все ще відіграє вирішальну роль у процесах комунікації, розробникам програмного забезпечення часто потрібно взаємодіяти з Gmail програмно. Будь то отримання звітів, надсилання автоматизованих сповіщень або моніторинг вхідних скриньок, наявність правильних інструментів може заощадити години роботи. Ruby‑Gmail — це відкритий Ruby‑gem, який надає простий, Ruby‑подібний інтерфейс до Gmail через протокол IMAP. Створений розробником dcparker, бібліотека абстрагує складність роботи з сирими командами IMAP і замість цього пропонує читабельні, виразні методи для роботи з вхідними скриньками Gmail, листами, мітками, вкладеннями та іншим. За допомогою лише кількох рядків коду Ruby розробники можуть створювати та надсилати багаточастинні електронні листи у простому тексті та/або HTML, з вбудованими зображеннями та вкладеннями.

Ruby-Gmail — це прихований скарб для Ruby‑розробників, які шукають мінімальний, елегантний інтерфейс для автоматизації завдань Gmail. Бібліотека включає різноманітні функції для роботи з листами Gmail, такі як автентифікація в Gmail, читання, пошук або фільтрація листів, створення та надсилання повідомлень, видалення або переміщення листів, архівування повідомлень, доступ до вкладень, організація листів за мітками тощо. Активна розробка бібліотеки та її відкритий код означають, що вона постійно вдосконалюється та адаптується до змін API Gmail. Окрім багатьох корисних можливостей, існують і деякі обмеження, наприклад, OAuth2 ще не підтримується і бібліотека покладається на IMAP, що може не надавати всіх специфічних функцій Gmail. Це ідеальний варіант для скриптових завдань або інтеграції Gmail у легкі Ruby‑додатки.

Previous Next

Початок роботи з Mail

Найпростіший спосіб встановити бібліотеку Ruby-Gmail — через RubyGems. Будь ласка, використайте наступну команду для швидкої інсталяції.

Встановіть Ruby-Gmail через Rubygems

gem install gmail

Автентифікація електронної пошти в Ruby-додатках

Відкритий бібліотека Ruby-Gmail підтримує кілька методів автентифікації, включаючи OAuth2 та простий логін за ім'ям користувача/паролем. Вона дозволяє простий вхід за допомогою адреси Gmail та пароля або пароля, специфічного для додатку (рекомендовано для облікових записів з 2FA). Альтернативно, якщо вам потрібно використовувати OAuth або обробляти вхід поза скриптом, Ruby-Gmail підтримує підключення на основі блоків. Будь ласка, зауважте, що з міркувань безпеки слід уникати жорсткого кодування паролів; використовуйте змінні середовища або управління секретами. Наведені нижче приклади коду демонструють обидва методи обробки автентифікації електронної пошти за допомогою Ruby API.

Як виконати базову та OAuth2 автентифікацію електронної пошти в Ruby-додатках?

require 'gmail'

# Basic authentication (less secure)
gmail = Gmail.connect(username, password)

# OAuth2 authentication (recommended)
gmail = Gmail.connect(:oauth2, username, access_token)

Пошук та фільтрація електронних листів через Ruby API

Бібліотека Ruby-Gmail забезпечила повний функціонал для легкого читання та пошуку електронних листів у Ruby-додатках. Розробники можуть легко отримати доступ до вхідних, непрочитаних повідомлень або шукати за темою, відправником чи датою. Бібліотека надає потужний інтерфейс пошуку, який відображає оператори пошуку Gmail. Наведений нижче приклад демонструє, як розробники програмного забезпечення можуть застосовувати різні методи пошуку електронних листів у Ruby-додатках.

Як шукати електронні листи в Gmail за допомогою Ruby API?

# 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')

Створення та надсилання електронних листів за допомогою Ruby

Відкритий Ruby-Gmail бібліотека забезпечує повну підтримку створення та надсилання електронних листів лише за кілька рядків коду Ruby. Бібліотека робить складання та надсилання листів простим, дозволяє додавати HTML‑вміст, файли та зображення у вигляді вкладень, надсилати масові листи, застосовувати стилі та форматування тощо. Наведений нижче приклад показує, як розробники програмного забезпечення можуть додавати HTML‑вміст та вкладення до електронних повідомлень у Ruby‑додатках.

Як додати HTML‑вміст та вкладення до електронного листа за допомогою 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

Архівація, видалення та переміщення електронних листів через Ruby API

Бібліотека Ruby-Gmail дуже багатофункціональна і може плавно виконувати операції життєвого циклу електронної пошти в Ruby‑додатках. Розробники можуть легко керувати листами, переміщуючи їх, додаючи мітки, позначаючи як прочитані/непрочитані тощо. Вони також можуть позначати листи як важливі, непрочитані або навіть переміщати їх у різні папки. Наведений нижче приклад коду Ruby демонструє, як позначити лист, додати мітки та перемістити його у папку в Ruby‑додатках.

Як позначити лист, додати мітки та перемістити його у певну папку за допомогою 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')
 Українська