1. Produse
  2.   E-mail
  3.   Ruby
  4.   Ruby-Gmail
 
  

Bibliotecă open source Ruby pentru creare și procesare de emailuri

API Ruby gratuit care permite aplicațiilor Ruby să acceseze și să manipuleze conturi Gmail prin IMAP. Compune, trimite, arhivează, mută și șterge mesaje de email prin Biblioteca Ruby.

Ce este biblioteca Ruby-Gmail?

Într-o eră în care e-mailul joacă în continuare un rol crucial în fluxurile de comunicare, dezvoltatorii de software trebuie adesea să interacționeze programatic cu Gmail. Fie că este vorba de extragerea rapoartelor, trimiterea de notificări automate sau monitorizarea căsuțelor de e-mail, deținerea instrumentelor potrivite poate economisi ore de efort. Ruby-Gmail este o gemă Ruby open-source care oferă o interfață simplă, în stil Ruby, pentru Gmail prin protocolul IMAP. Creată de dezvoltatorul dcparker, biblioteca abstractizează complexitatea gestionării comenzilor IMAP brute și, în schimb, vă oferă metode lizibile și expresive pentru a lucra cu căsuțele de primire Gmail, e-mailuri, etichete, atașamente și altele. Cu doar câteva linii de cod Ruby, dezvoltatorii pot crea și trimite mesaje de e-mail multipart în text simplu și/sau HTML, cu imagini încorporate și atașamente.

Ruby-Gmail este o comoară ascunsă pentru Rubyști care doresc o interfață minimală și elegantă pentru a automatiza sarcinile Gmail. Biblioteca include diverse funcționalități pentru lucrul cu e‑mailuri Gmail, cum ar fi autentificarea în Gmail, citirea, căutarea sau filtrarea e‑mailurilor, compunerea și trimiterea mesajelor, eliminarea sau ștergerea e‑mailurilor, arhivarea mesajelor, accesul la atașamentele e‑mail, organizarea e‑mailurilor folosind etichete și așa mai departe. Dezvoltarea activă a bibliotecii și natura sa open source înseamnă că continuă să se îmbunătățească și să se adapteze la schimbările API‑ului Gmail. Pe lângă unele funcționalități excelente există și unele limitări, cum ar fi faptul că OAuth2 nu este încă suportat și se bazează pe IMAP, care s-ar putea să nu expună toate funcționalitățile specifice Gmail. Este o alegere perfectă pentru sarcini de scripting sau pentru integrarea Gmail în aplicații Ruby ușoare.

Previous Next

Începerea cu Mail

Cea mai simplă modalitate de a instala biblioteca Ruby-Gmail este prin RubyGems. Vă rugăm să folosiți comanda următoare pentru o instalare facilă.

Instalați Ruby-Gmail prin Rubygems

gem install gmail

Autentificarea email-urilor în aplicațiile Ruby

Biblioteca open source Ruby-Gmail suportă multiple metode de autentificare, inclusiv OAuth2 și nume de utilizator/parolă simplă. Permite autentificare simplă utilizând o adresă Gmail și parolă sau o parolă specifică aplicației (recomandată pentru conturile cu 2FA). Alternativ, dacă trebuie să utilizați OAuth sau să gestionați autentificarea în afara scriptului, Ruby-Gmail suportă conexiune bazată pe blocuri. Vă rugăm să rețineți că, din motive de securitate, evitați codarea hard a parolelor; folosiți variabile de mediu sau gestionarea secretelor. Exemplele de cod de mai jos demonstrează ambele metode pentru gestionarea procesării autentificărilor de e‑mail prin API-ul Ruby.

Cum să efectuați autentificarea de bază și OAuth2 pentru e-mail în aplicații Ruby?

require 'gmail'

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

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

Căutați și filtrați emailuri prin API-ul Ruby

Biblioteca Ruby-Gmail a oferit funcționalitate completă pentru citirea și căutarea ușoară a mesajelor de e‑mail în aplicațiile Ruby. Dezvoltatorii pot accesa căsuța de primire, mesajele necitite sau pot căuta după subiect, expeditor sau dată cu ușurință. Biblioteca oferă o interfață de căutare robustă care reflectă operatorii de căutare proprii Gmail. Exemplul de mai jos demonstrează cum dezvoltatorii de software pot aplica diverse metode pentru căutarea mesajelor de e‑mail în aplicațiile Ruby.

Cum să căutați mesaje de e-mail în Gmail prin API-ul 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')

Compoziția și trimiterea emailurilor prin Ruby

Biblioteca open source Ruby-Gmail a oferit suport complet pentru crearea și trimiterea mesajelor de e‑mail cu doar câteva linii de cod Ruby. Biblioteca face ca compunerea și trimiterea e‑mailurilor să fie simplă, permițând adăugarea de conținut HTML, fișiere și imagini atașate, trimiterea de e‑mailuri în masă, aplicarea de stiluri și formatare și altele. Exemplul de mai jos arată cum dezvoltatorii pot adăuga conținut HTML și atașamente la mesajele de e‑mail în aplicațiile Ruby.

Cum să adăugați conținut HTML și atașamente la un mesaj de e-mail prin aplicații 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

Arhivați, ștergeți și mutați emailuri prin API-ul Ruby

Biblioteca Ruby-Gmail este foarte bogată în funcționalități și poate gestiona operațiunile ciclului de viață ale e‑mailurilor fără probleme în aplicațiile Ruby. Dezvoltatorii pot gestiona cu ușurință e‑mailurile prin mutare, etichetare, marcarea ca citite/necitite etc. De asemenea, pot marca e‑mailurile ca favorite, necitite sau chiar să le mute în diferite dosare. Exemplul de cod Ruby de mai jos demonstrează cum să marcați un e‑mail, să adăugați etichete și să mutați în dosar în cadrul aplicațiilor Ruby.

Cum să marcați e-mailuri, să adăugați etichete și să mutați într-un folder specific prin biblioteca 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')
 Română