1. Məhsullar
  2.   E-poçt
  3.   Ruby
  4.   Ruby-Gmail
 
  

Açıq mənbəli Ruby E-poçt Yaratma və Emal Kitabxanası

Pulsuz Ruby API, Ruby Tətbiqlərinə IMAP vasitəsilə Gmail Hesablarına Daxil Olmaq və Onları İdarə Etmək imkanı verir. Ruby Kitabxanası ilə e-poçt mesajlarını yaratmaq, göndərmək, arxivləşdirmək, köçürmək və silmək.

Ruby-Gmail Kitabxanası nədir?

Email hələ də ünsiyyət iş axınlarında vacib rol oynadığı bir dövrdə, proqram təminatı inkişafçıları tez-tez Gmail ilə proqramlaşdırılmış şəkildə işləmək məcburiyyətində qalırlar. İstər hesabatları çəkmək, istər avtomatik bildirişlər göndərmək, istərsə də poçt qutularını izləmək olsun, doğru alətlər saatlarla səy qənaət edə bilər. Ruby-Gmail, IMAP protokolu vasitəsilə Gmail-ə sadə, Ruby‑stilində interfeys təmin edən açıq mənbəli Ruby gem‑idir. İnkişafçı dcparker tərəfindən yaradılmış bu kitabxana, xam IMAP əmrləri ilə işləməyin mürəkkəbliyini aradan qaldırır və Gmail poçt qutuları, e‑poçtlar, etiketlər, əlavələr və daha çoxu ilə işləmək üçün oxunaqlı, ifadəli metodlar təqdim edir. Yalnız bir neçə Ruby sətiri ilə proqramçılar mətn və/və ya html formatında, daxili şəkillər və əlavələrlə çox hissəli e‑poçt mesajları yarada və göndərə bilərlər.

Ruby-Gmail, Gmail tapşırıqlarını avtomatlaşdırmaq üçün minimal, zərif interfeys istəyən Rubyistlər üçün gizli bir incidir. Kitabxana Gmail e-poçtları ilə işləmək üçün müxtəlif xüsusiyyətləri əhatə edir, məsələn Gmail-ə autentifikasiya, e-poçtları oxumaq, axtarmaq və ya filtr etmək, mesajlar yaratmaq və göndərmək, e-poçtu silmək və ya aradan qaldırmaq, mesajları arxivləşdirmək, e-poçt əlavələrinə daxil olmaq, etiketlərdən istifadə edərək e-poçtları təşkil etmək və s. Kitabxananın aktiv inkişafı və açıq mənbə təbiəti onun Gmail API-dəki dəyişikliklərə uyğunlaşaraq davamlı olaraq təkmilləşməsini təmin edir. Bəzi möhtəşəm xüsusiyyətlərdən əlavə, OAuth2 hələ dəstəklənmir və IMAP-ə əsaslanır, bu da bütün Gmail-ə xas xüsusiyyətləri ortaya çıxarmaya bilər. Bu, skript tapşırıqları üçün və ya Gmail-i yüngül Ruby tətbiqlərinə inteqrasiya etmək üçün mükəmməl bir seçimdir.

Previous Next

Mail ilə Başlamaq

Ruby-Gmail kitabxanasını quraşdırmanın ən asan yolu RubyGems vasitəsilədir. Asan quraşdırma üçün aşağıdakı əmri istifadə edin.

Ruby-Gmail-i Rubygems vasitəsilə quraşdırın

gem install gmail

Ruby Tətbiqlərində E‑poçt Doğrulaması

Açıq mənbəli Ruby-Gmail kitabxanası OAuth2 və sadə istifadəçi adı/parol daxil olmaqla bir neçə autentifikasiya metodunu dəstəkləyir. Gmail ünvanı və parol və ya tətbiq‑xüsusi parol (2FA olan hesablar üçün tövsiyə olunur) ilə sadə giriş imkanı verir. Alternativ olaraq, OAuth istifadə etməli və ya skriptin xaricində giriş idarə etməlisinizsə, Ruby-Gmail blok‑əsaslı bağlantını dəstəkləyir. Təhlükəsizlik üçün parolları kodda sərt şəkildə yazmaqdan çəkinin; ətraf mühit dəyişənləri və ya gizli məlumatların idarə edilməsindən istifadə edin. Aşağıdakı kod nümunələri Ruby API vasitəsilə e‑poçt autentifikasiyasının idarə olunması üçün hər iki metodu göstərir.

Ruby tətbiqlərində əsas və OAuth2 e‑poçt autentifikasiyasını necə həyata keçirmək olar?

require 'gmail'

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

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

Ruby API vasitəsilə E‑poçtları Axtarmaq və Filtrləmək

Ruby-Gmail kitabxanası Ruby tətbiqləri daxilində e‑poçt mesajlarını asanlıqla oxumaq və axtarmaq üçün tam funksionallıq təqdim edir. Tərtibatçılar gələn qutunu, oxunmamış mesajları və ya mövzu, göndərici və ya tarix üzrə axtarışı rahatlıqla həyata keçirə bilərlər. Kitabxana Gmail‑in öz axtarış operatorlarını əks etdirən güclü axtarış interfeysi təmin edir. Aşağıdakı nümunə, proqram tərtibatçılarının Ruby tətbiqlərində e‑poçt mesajlarını axtarmaq üçün müxtəlif metodları necə tətbiq edə biləcəyini göstərir.

Ruby API vasitəsilə Gmail-də e‑poçt mesajlarını necə axtarmaq olar?

# 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 vasitəsilə E‑poçt Yaratma və Göndərmə

Açıq mənbəli Ruby-Gmail kitabxanası yalnız bir neçə Ruby sətiri ilə e‑poçt mesajları yaratmaq və göndərmək üçün tam dəstək təmin edir. Kitabxana e‑poçtların tərtib və göndərilməsini sadə edir, HTML məzmunu, fayl və şəkil əlavələri əlavə etməyə, toplu e‑poçt göndərməyə, stil və formatlama tətbiq etməyə və s. imkan verir. Aşağıdakı nümunə, proqramçılara Ruby tətbiqlərində e‑poçt mesajlarına HTML məzmunu və əlavələr əlavə etməyin necə olduğunu göstərir.

Ruby tətbiqləri vasitəsilə e‑poçt mesajına HTML məzmunu və əlavələri necə əlavə etmək olar?

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 vasitəsilə E‑poçtları Arxivləşdirmək, Silmək və Daşımaq

Ruby-Gmail kitabxanası çox zəngin xüsusiyyətlərə malikdir və ruby tətbiqlərində e‑poçt həyat dövrü əməliyyatlarını problemsiz idarə edə bilir. Proqramçılar e‑poçtları asanlıqla köçürmə, etiketləmə, oxunmuş/oxunmamış kimi işarələmə və s. vasitəsilə idarə edə bilərlər; həmçinin e‑poçtları ulduzlu, oxunmamış kimi işarələyə və ya fərqli qovluqlara köçürə bilərlər. Aşağıdakı ruby kod nümunəsi, Ruby tətbiqlərində e‑poçtu necə işarələmək, etiketlər əlavə etmək və qovluğa köçürmək lazım olduğunu göstərir.

Ruby kitabxanası vasitəsilə e‑poçtu işarələmək, etiketlər əlavə etmək və müəyyən qovluğa köçürmək necə olur?

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')
 Azəri