1. Produk
  2.   E-mel
  3.   Ruby
  4.   Ruby-Gmail
 
  

Perpustakaan Penciptaan & Pemprosesan E-mel Ruby Sumber Terbuka

API Ruby Percuma yang membolehkan Aplikasi Ruby Mengakses dan Mengendalikan Akaun Gmail melalui IMAP. Tulis, Hantar, Arkib, Pindah & Padam Mesej E-mel melalui Perpustakaan Ruby.

Apakah Perpustakaan Ruby-Gmail?

Pada era di mana e-mel masih memainkan peranan penting dalam aliran kerja komunikasi, pemaju perisian sering perlu berinteraksi dengan Gmail secara programatik. Sama ada untuk menarik laporan, menghantar notifikasi automatik, atau memantau peti masuk, memiliki alat yang tepat dapat menjimatkan berjam-jam usaha. Ruby-Gmail ialah gem Ruby sumber terbuka yang menyediakan antara muka yang mudah, berunsur Ruby kepada Gmail melalui protokol IMAP. Dibuat oleh pemaju dcparker, perpustakaan ini menyembunyikan kerumitan mengendalikan arahan IMAP mentah dan sebaliknya memberikan kaedah yang mudah dibaca dan ekspresif untuk bekerja dengan peti masuk Gmail, e-mel, label, lampiran, dan banyak lagi. Dengan hanya beberapa baris kod Ruby, pemaju perisian boleh mencipta dan menghantar mesej e-mel berbilang bahagian dalam teks biasa dan/atau HTML, dengan imej terbenam dan lampiran.

Ruby-Gmail adalah permata tersembunyi bagi peminat Ruby yang menginginkan antara muka minimal dan elegan untuk mengautomasi tugas Gmail. Perpustakaan ini menyertakan pelbagai ciri untuk bekerja dengan e-mel Gmail, seperti mengesahkan ke Gmail, membaca, mencari, atau menapis e-mel, menyusun dan menghantar mesej, mengeluarkan atau memadam e-mel, mengarkibkan mesej, mengakses lampiran e-mel, mengatur e-mel menggunakan label dan sebagainya. Pembangunan aktif perpustakaan ini serta sifat sumber terbukanya bermakna ia terus ditingkatkan dan menyesuaikan diri dengan perubahan dalam API Gmail. Selain beberapa ciri hebat, terdapat juga beberapa batasan seperti OAuth2 belum disokong dan bergantung pada IMAP, yang mungkin tidak memaparkan semua ciri khusus Gmail. Ia sangat sesuai untuk tugas skrip atau mengintegrasikan Gmail ke dalam aplikasi Ruby yang ringan.

Previous Next

Mula Menggunakan Mail

Cara paling mudah untuk memasang perpustakaan Ruby-Gmail ialah melalui RubyGems. Sila gunakan perintah berikut untuk pemasangan yang mudah.

Pasang Ruby-Gmail melalui Rubygems

gem install gmail

Pengesahan E-mel dalam Aplikasi Ruby

Perpustakaan Ruby-Gmail sumber terbuka menyokong pelbagai kaedah pengesahan termasuk OAuth2 dan nama pengguna/kata laluan biasa. Ia membenarkan log masuk mudah menggunakan alamat Gmail dan kata laluan atau kata laluan khusus aplikasi (disarankan untuk akaun dengan 2FA). Sebagai alternatif, jika anda perlu menggunakan OAuth atau mengendalikan log masuk di luar skrip, Ruby-Gmail menyokong sambungan berasaskan blok. Sila ambil perhatian bahawa demi keselamatan, elakkan menulis keras kata laluan; gunakan pembolehubah persekitaran atau pengurusan rahsia. Contoh kod berikut menunjukkan kedua-dua kaedah untuk mengendalikan pemprosesan pengesahan e-mel melalui API Ruby.

Bagaimana Melakukan Pengesahan E-mel Asas & OAuth2 dalam Aplikasi Ruby?

require 'gmail'

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

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

Cari dan Tapis E-mel melalui API Ruby

Perpustakaan Ruby-Gmail telah menyediakan fungsi lengkap untuk membaca dan mencari mesej e-mel dengan mudah dalam aplikasi Ruby. Pembangun boleh mengakses peti masuk, mesej yang belum dibaca, atau mencari mengikut subjek, penghantar, atau tarikh dengan mudah. Perpustakaan ini menyediakan antara muka carian yang kukuh yang meniru operator carian Gmail sendiri. Contoh berikut menunjukkan bagaimana pembangun perisian boleh menggunakan pelbagai kaedah untuk mencari mesej e-mel dalam aplikasi Ruby.

Bagaimana Mencari Mesej E-mel dalam Gmail melalui 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')

Penyusunan & Penghantaran E-mel melalui Ruby

Perpustakaan Ruby-Gmail sumber terbuka telah menyediakan sokongan lengkap untuk mencipta dan menghantar mesej e-mel dengan hanya beberapa baris kod Ruby. Perpustakaan ini memudahkan penyusunan dan penghantaran e-mel, membolehkan penambahan kandungan HTML, fail dan lampiran gambar, menghantar e-mel pukal, menggunakan gaya dan pemformatan, dan sebagainya. Contoh berikut menunjukkan bagaimana pemaju perisian boleh menambah kandungan HTML dan lampiran kepada mesej e-mel dalam Aplikasi Ruby.

Bagaimana Menambah Kandungan HTML & Lampiran kepada Mesej E-mel melalui Aplikasi 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

Arkib, Padam, & Pindahkan E-mel melalui API Ruby

Perpustakaan Ruby-Gmail sangat kaya dengan ciri dan dapat mengendalikan operasi kitaran hayat e-mel dengan lancar dalam aplikasi ruby. Pemaju perisian boleh dengan mudah mengurus e-mel dengan memindahkan, memberi label, menandakan sebagai dibaca / belum dibaca, dll. Mereka juga boleh menandakan e-mel sebagai berbintang, belum dibaca, atau bahkan memindahkannya ke folder yang berbeza. Contoh kod ruby berikut menunjukkan cara menandakan e-mel, menambah label dan memindahkannya ke folder dalam aplikasi Ruby.

Bagaimana Menandakan E-mel, Menambah Label dan Memindahkan ke Folder Tertentu melalui Perpustakaan 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')
 Melayu