Библиотека с отворен код за създаване и обработка на имейли в Ruby
Безплатен Ruby API, който позволява на Ruby приложения да достъпват и манипулират Gmail акаунти чрез IMAP. Съставяйте, изпращайте, архивирайте, премествате и изтривайте имейл съобщения чрез Ruby библиотека.
Какво е Ruby-Gmail библиотеката?
В ера, в която имейлът все още играе ключова роля в комуникационните процеси, софтуерните разработчици често трябва да взаимодействат с Gmail програмно. Независимо дали се изтеглят отчети, изпращат автоматизирани известия или се наблюдават пощенски кутии, наличието на правилните инструменти може да спести часове работа. Ruby-Gmail е отворен Ruby gem, който предоставя прост, Ruby‑подобен интерфейс към Gmail чрез IMAP протокола. Създаден от разработчика dcparker, библиотеката абстрахира сложността на работа с чисти IMAP команди и вместо това предлага четими, изразителни методи за работа с пощенски кутии, имейли, етикети, прикачени файлове и др. С няколко реда Ruby код софтуерните разработчици могат да създават и изпращат многочастични имейл съобщения в чист текст и/или HTML, с вградени изображения и прикачени файлове.
Ruby-Gmail е скрито бижу за Ruby разработчиците, които искат минимален, елегантен интерфейс за автоматизиране на задачи в Gmail. Библиотеката включва различни функции за работа с имейли в Gmail, като удостоверяване в Gmail, четене, търсене или филтриране на имейли, създаване и изпращане на съобщения, премахване или изтриване на имейли, архивиране на съобщения, достъп до прикачени файлове, организиране на имейли с етикети и др. Активното развитие и отвореният код на библиотеката означават, че тя продължава да се подобрява и да се адаптира към промените в API на Gmail. Освен някои отлични функции има и ограничения, като че OAuth2 все още не се поддържа и се базира на IMAP, което може да не разкрие всички специфични за Gmail функции. Тя е перфектен избор за скриптове или интегриране на Gmail в леки Ruby приложения.
Започване с 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')