1. Tuotteet
  2.   Sähköposti
  3.   Ruby
  4.   Ruby-Gmail
 
  

Avoimen lähdekoodin Ruby-sähköpostin luonti- ja käsittelykirjasto

Ilmainen Ruby API, joka mahdollistaa Ruby-sovellusten käyttää ja muokata Gmail-tilejä IMAP:n kautta. Luo, lähetä, arkistoi, siirrä ja poista sähköpostiviestejä Ruby-kirjaston avulla.

Mikä on Ruby-Gmail-kirjasto?

Ajassa, jossa sähköposti edelleen näyttelee keskeistä roolia viestintätyönkulkuissa, ohjelmistokehittäjien on usein vuorovaikutettava Gmailin kanssa ohjelmallisesti. Olipa kyseessä raporttien noutaminen, automaattisten ilmoitusten lähettäminen tai postilaatikoiden valvonta, oikeiden työkalujen käyttäminen voi säästää tunteja työtä. Ruby-Gmail on avoimen lähdekoodin Ruby-gemi, joka tarjoaa yksinkertaisen, Ruby-tyylisen käyttöliittymän Gmailiin IMAP-protokollan kautta. Kehittäjän dcparkerin luoma kirjasto abstrahoi raakojen IMAP-komentojen monimutkaisuuden ja tarjoaa sen sijaan luettavia, ilmaisuvoimaisia metodeja Gmailin postilaatikoiden, sähköpostien, tunnisteiden, liitteiden ja muun kanssa työskentelemiseen. Vain muutamalla Ruby-koodirivillä ohjelmistokehittäjät voivat luoda ja lähettää moniosaisia sähköpostiviestejä tavallisessa tekstissä ja/tai HTML:ssä, upotetuilla kuvilla ja liitteillä.

Ruby-Gmail on piilotettu helmi Ruby-osaajille, jotka haluavat minimaalisen, elegantin käyttöliittymän Gmail-tehtävien automatisointiin. Kirjasto sisältää erilaisia ominaisuuksia Gmail-sähköpostien käsittelyyn, kuten autentikointi Gmailiin, sähköpostien lukeminen, hakeminen tai suodattaminen, viestien koostaminen ja lähettäminen, sähköpostien poistaminen tai poistaminen, viestien arkistointi, liitteiden käyttö, sähköpostien järjestäminen tunnisteiden avulla jne. Kirjaston aktiivinen kehitys ja avoimen lähdekoodin luonne tarkoittavat, että se jatkaa parantamista ja sopeutumista Gmailin API:n muutoksiin. Huolimatta joistakin hienoista ominaisuuksista on myös rajoituksia, kuten että OAuth2 ei ole vielä tuettu ja se perustuu IMAPiin, mikä ei välttämättä paljasta kaikkia Gmailiin spesifisiä ominaisuuksia. Se on täydellinen valinta skriptitehtäviin tai Gmailin integroimiseen kevyisiin Ruby-sovelluksiin.

Previous Next

Aloittaminen Mailin kanssa

Helpoin tapa asentaa Ruby-Gmail-kirjasto on RubyGemsin kautta. Käytä seuraavaa komentoa helppoon asennukseen.

Asenna Ruby-Gmail Rubygemsin kautta

gem install gmail

Sähköpostin todennus Ruby-sovelluksissa

Avoimen lähdekoodin Ruby-Gmail-kirjasto tukee useita todennusmenetelmiä, mukaan lukien OAuth2 ja tavallinen käyttäjätunnus/salasana. Se mahdollistaa yksinkertaisen kirjautumisen Gmail-osoitteella ja salasanalla tai sovelluskohtaisella salasanalla (suositellaan tileille, joissa on kaksivaiheinen tunnistautuminen). Vaihtoehtoisesti, jos sinun täytyy käyttää OAuthia tai käsitellä kirjautumista skriptin ulkopuolella, Ruby-Gmail tukee lohkopohjaista yhteyttä. Huomioithan, että turvallisuuden vuoksi vältä salasanojen kovakoodaamista; käytä ympäristömuuttujia tai salaisuuksien hallintaa. Seuraavat koodiesimerkit osoittavat molemmat menetelmät sähköpostin todennuksen käsittelemiseksi Ruby-API:n kautta.

Kuinka suorittaa perus- ja OAuth2-sähköpostitodennus Ruby-sovelluksissa?

require 'gmail'

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

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

Sähköpostien haku ja suodatus Ruby-API:n kautta

Ruby-Gmail-kirjasto on tarjonnut täydellisen toiminnallisuuden sähköpostiviestien helppoon lukemiseen ja hakemiseen Ruby-sovelluksissa. Kehittäjät voivat helposti käyttää saapuneita viestejä, lukemattomia viestejä tai hakea aiheesta, lähettäjästä tai päivämäärästä. Kirjasto tarjoaa vankkan hakukäyttöliittymän, joka jäljittelee Gmailin omia hakukomentoja. Seuraava esimerkki osoittaa, miten ohjelmistokehittäjät voivat soveltaa erilaisia menetelmiä sähköpostiviestien hakemiseen Ruby-sovelluksissa.

Kuinka hakea sähköpostiviestejä Gmailista Ruby API:n avulla?

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

Sähköpostin koostaminen & lähettäminen Rubylla

Avoimen lähdekoodin Ruby-Gmail-kirjasto on tarjonnut täyden tuen sähköpostiviestien luomiseen ja lähettämiseen vain muutamalla Ruby-koodirivillä. Kirjasto tekee sähköpostien koostamisesta ja lähettämisestä suoraviivaista, sallien HTML-sisällön, tiedostojen ja kuvien liitteiden lisäämisen, massapostien lähettämisen, tyylien ja muotoilun soveltamisen jne. Seuraava esimerkki näyttää, miten ohjelmistokehittäjät voivat lisätä HTML-sisältöä ja liitteitä sähköpostiviesteihin Ruby-sovelluksissa.

Kuinka lisätä HTML-sisältöä ja liitteitä sähköpostiviestiin Ruby-sovellusten kautta?

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

Sähköpostien arkistointi, poistaminen & siirtäminen Ruby-API:n kautta

Ruby-Gmail-kirjasto on erittäin ominaisuuksiltaan rikas ja pystyy käsittelemään sähköpostien elinkaaritoiminnot sujuvasti Ruby-sovelluksissa. Ohjelmistokehittäjät voivat helposti hallita sähköposteja siirtämällä, merkitsemällä, asettamalla luettavaksi/lukemattomaksi jne. He voivat myös helposti merkitä sähköpostit tähdellä, lukemattomiksi tai siirtää ne eri kansioihin. Seuraava Ruby-koodiesimerkki osoittaa, miten merkitä sähköposti, lisätä tunnisteita ja siirtää kansioon Ruby-sovelluksissa.

Kuinka merkitä sähköposti, lisätä tunnisteita ja siirtää se tiettyyn kansioon Ruby-kirjaston avulla?

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