1. Des produits
  2.   E-mail
  3.   Ruby
  4.   Ruby-Gmail
 
  

Bibliothèque Ruby open source de création et de traitement d'e‑mail

API Ruby gratuite qui permet aux applications Ruby d'accéder et de manipuler les comptes Gmail via IMAP. Composer, Envoyer, Archiver, Déplacer et Supprimer des messages e‑mail via la bibliothèque Ruby.

Qu'est-ce que la bibliothèque Ruby-Gmail ?

À une époque où le courrier électronique joue toujours un rôle crucial dans les flux de travail de communication, les développeurs logiciels doivent souvent interagir avec Gmail de manière programmatique. Qu’il s’agisse d’extraire des rapports, d’envoyer des notifications automatisées ou de surveiller les boîtes de réception, disposer des bons outils peut faire gagner des heures d’effort. Ruby‑Gmail est une gem Ruby open‑source qui fournit une interface simple, à la manière de Ruby, à Gmail via le protocole IMAP. Créée par le développeur dcparker, la bibliothèque abstrait la complexité de la gestion des commandes IMAP brutes et offre à la place des méthodes lisibles et expressives pour travailler avec les boîtes de réception Gmail, les e‑mails, les libellés, les pièces jointes, et plus encore. En quelques lignes de code Ruby, les développeurs peuvent créer et envoyer des messages e‑mail multiparties en texte brut et/ou HTML, avec des images intégrées et des pièces jointes.

Ruby-Gmail est un bijou caché pour les Rubyistes qui souhaitent une interface minimale et élégante pour automatiser les tâches Gmail. La bibliothèque inclut diverses fonctionnalités pour travailler avec les e‑mails Gmail, telles que l'authentification à Gmail, la lecture, la recherche ou le filtrage des e‑mails, la composition et l'envoi de messages, la suppression ou la suppression d'e‑mail, l'archivage des messages, l'accès aux pièces jointes, l'organisation des e‑mails à l'aide d'étiquettes, etc. Le développement actif de la bibliothèque et sa nature open source signifient qu'elle continue de s'améliorer et de s'adapter aux changements de l'API Gmail. En plus de ses nombreuses fonctionnalités, il existe également certaines limitations, comme le fait que OAuth2 n'est pas encore pris en charge et qu'elle repose sur IMAP, ce qui peut ne pas exposer toutes les fonctionnalités spécifiques à Gmail. C’est un choix idéal pour les tâches de script ou l'intégration de Gmail dans des applications Ruby légères.

Previous Next

Commencer avec Mail

Le moyen le plus simple d'installer la bibliothèque Ruby-Gmail est via RubyGems. Veuillez utiliser la commande suivante pour une installation facile.

Installez Ruby-Gmail via Rubygems

gem install gmail

Authentification des e‑mails dans les applications Ruby

La bibliothèque open source Ruby-Gmail prend en charge plusieurs méthodes d'authentification, y compris OAuth2 et le nom d'utilisateur/mot de passe simple. Elle permet une connexion simple en utilisant une adresse Gmail et un mot de passe ou un mot de passe spécifique à l'application (recommandé pour les comptes avec 2FA). Alternativement, si vous devez utiliser OAuth ou gérer la connexion en dehors du script, Ruby-Gmail prend en charge la connexion basée sur des blocs. Veuillez noter que, pour des raisons de sécurité, il faut éviter d'intégrer les mots de passe en dur ; utilisez des variables d'environnement ou une gestion des secrets. Les exemples de code suivants démontrent les deux méthodes pour gérer le traitement des authentifications d'e‑mail via l'API Ruby.

Comment effectuer une authentification e‑mail basique et OAuth2 dans les applications Ruby ?

require 'gmail'

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

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

Rechercher et filtrer les e‑mails via l'API Ruby

La bibliothèque Ruby-Gmail offre une fonctionnalité complète pour lire et rechercher facilement les messages électroniques dans les applications Ruby. Les développeurs peuvent accéder à la boîte de réception, aux messages non lus, ou rechercher par sujet, expéditeur ou date en toute simplicité. La bibliothèque propose une interface de recherche robuste qui reproduit les opérateurs de recherche de Gmail. L'exemple suivant montre comment les développeurs peuvent appliquer diverses méthodes pour rechercher des messages électroniques dans les applications Ruby.

Comment rechercher des messages e‑mail dans Gmail via l’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')

Composition et envoi d'e‑mails via Ruby

La bibliothèque open source Ruby-Gmail offre un support complet pour créer et envoyer des messages électroniques avec seulement quelques lignes de code Ruby. La bibliothèque rend la composition et l'envoi d'e-mails simples, permet d'ajouter du contenu HTML, des fichiers et des images en pièces jointes, d'envoyer des e-mails en masse, d'appliquer des styles et du formatage, etc. L'exemple suivant montre comment les développeurs peuvent ajouter du contenu HTML et des pièces jointes à des messages électroniques dans les applications Ruby.

Comment ajouter du contenu HTML et des pièces jointes à un message e‑mail via les applications 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

Archiver, supprimer et déplacer les e‑mails via l'API Ruby

La bibliothèque Ruby-Gmail est très riche en fonctionnalités et peut gérer les opérations du cycle de vie des e-mails de manière fluide dans les applications Ruby. Les développeurs peuvent facilement gérer les e-mails en les déplaçant, les étiquetant, les marquant comme lus/non lus, etc. Ils peuvent également marquer facilement les e-mails comme favoris, non lus, ou même les déplacer vers différents dossiers. L'exemple de code Ruby suivant montre comment marquer un e-mail, ajouter des étiquettes et le déplacer vers un dossier dans les applications Ruby.

Comment marquer les e‑mails, ajouter des libellés et les déplacer vers un dossier spécifique via la bibliothèque 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')
 Français