1. מוצרים
  2.   אימייל
  3.   Ruby
  4.   Ruby-Gmail
 
  

ספרייה קוד פתוח ב‑Ruby ליצירת ועיבוד אימיילים

API Ruby חינמי המאפשר לאפליקציות Ruby לגשת ולנהל חשבונות Gmail דרך IMAP. כתיבה, שליחה, ארכוב, העברה ומחיקת הודעות אימייל באמצעות ספריית Ruby.

מהי ספריית Ruby-Gmail?

בתקופה שבה האימייל עדיין ממלא תפקיד קריטי בתהליכי תקשורת, מפתחים לרוב צריכים לתקשר עם Gmail בצורה תכנותית. בין אם מדובר בשליפת דוחות, שליחת התראות אוטומטיות, או ניטור תיבות דואר, שימוש בכלים המתאימים יכול לחסוך שעות של עבודה. Ruby-Gmail הוא gem קוד פתוח של Ruby המספק ממשק פשוט בסגנון Ruby ל‑Gmail דרך פרוטוקול IMAP. נוצר על ידי המפתח dcparker, הספרייה מפשטת את המורכבות של עבודה עם פקודות IMAP גולמיות ובמקום זאת מספקת שיטות קריאות וביטוייות לעבודה עם תיבות הדואר של Gmail, אימיילים, תוויות, קבצים מצורפים ועוד. עם רק כמה שורות קוד Ruby, מפתחים יכולים ליצור ולשלוח הודעות אימייל מרובות חלקים בטקסט פשוט ו/או HTML, עם תמונות משולבות וקבצים מצורפים.

Ruby-Gmail הוא אוצר חבוי עבור מתכנתי Ruby שרוצים ממשק מינימלי ואלגנטי לאוטומציה של משימות Gmail. הספרייה כוללת מגוון תכונות לעבודה עם הודעות Gmail, כגון אימות ל‑Gmail, קריאה, חיפוש או סינון הודעות, כתיבה ושליחת הודעות, הסרה או מחיקת הודעות, ארכוב הודעות, גישה לקבצים מצורפים, ארגון הודעות באמצעות תוויות ועוד. הפיתוח הפעיל של הספרייה והיותה קוד פתוח משמעותם שהיא ממשיכה להשתפר ולהתאים לשינויים ב‑API של Gmail. בנוסף למאפיינים המצוינים יש גם מגבלות כגון חוסר תמיכה ב‑OAuth2 והסתמכות על IMAP, שעשוי לא לחשוף את כל התכונות הספציפיות ל‑Gmail. היא מתאימה באופן מושלם למשימות סקריפט או לשילוב Gmail באפליקציות Ruby קלות משקל.

Previous Next

התחלה עם Mail

הדרך הקלה ביותר להתקנת ספריית Ruby‑Gmail היא דרך RubyGems. אנא השתמשו בפקודה הבאה להתקנה קלה.

התקן Ruby-Gmail דרך Rubygems

gem install gmail

אימות דוא"ל בתוך אפליקציות Ruby

הספרייה הפתוחה Ruby-Gmail תומכת במספר שיטות אימות כולל OAuth2 ושם משתמש/סיסמה רגילים. היא מאפשרת התחברות פשוטה באמצעות כתובת Gmail וסיסמה או סיסמה ייעודית לאפליקציה (מומלץ לחשבונות עם אימות דו-שלבי). לחלופין, אם אתה צריך להשתמש ב-OAuth או לטפל בהתחברות מחוץ לסקריפט, Ruby-Gmail תומכת בחיבור מבוסס בלוקים. שים לב שלצורך אבטחה, יש להימנע מקידוד קשיח של סיסמאות; השתמש במשתני סביבה או בניהול סודות. דוגמאות הקוד שלהלן מציגות את שתי השיטות לטיפול באימותי דוא"ל באמצעות ממשק ה-API של Ruby.

איך לבצע אימות אימייל בסיסי ו-OAuth2 בתוך אפליקציות Ruby?

require 'gmail'

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

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

חיפוש וסינון הודעות דוא"ל דרך API של Ruby

הספרייה Ruby-Gmail מספקת פונקציונליות מלאה לקריאה וחיפוש נוחות של הודעות דוא"ל בתוך יישומי Ruby. מפתחים יכולים לגשת לתיבת הדואר הנכנס, הודעות שלא נקראו, או לחפש לפי נושא, שולח או תאריך בקלות. הספרייה מציעה ממשק חיפוש חזק המשקף את אופרטורי החיפוש של Gmail עצמו. הדוגמה שלהלן מציגה כיצד מפתחי תוכנה יכולים ליישם שיטות שונות לחיפוש הודעות דוא"ל בתוך אפליקציות Ruby.

איך לחפש הודעות אימייל בתוך Gmail דרך 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')

הרכבת הודעות דוא"ל ושליחה דרך Ruby

ספריית הקוד הפתוח Ruby-Gmail סיפקה תמיכה מלאה ביצירת ושליחת הודעות דוא"ל עם רק כמה שורות קוד Ruby. הספרייה מאפשרת הרכבת ושליחת דוא"לים בצורה פשוטה, מאפשרת הוספת תוכן HTML, קבצים ותמונות כקבצים מצורפים, שליחת דוא"לים בכמות גדולה, יישום סגנונות ועיצוב, ועוד. הדוגמה הבאה מראה כיצד מפתחים יכולים להוסיף תוכן HTML וקבצים מצורפים להודעות דוא"ל בתוך אפליקציות Ruby.

איך להוסיף תוכן HTML וקבצים מצורפים להודעת אימייל דרך אפליקציות 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

ארכוב, מחיקה והזזה של הודעות דוא"ל דרך API של Ruby

ספריית Ruby-Gmail עשירה בתכונות ויכולה לטפל בפעולות מחזור החיים של הדוא"ל בצורה חלקה בתוך יישומי Ruby. מפתחים יכולים לנהל דוא"לים בקלות על ידי העברה, תיוג, סימון כנקרא/לא נקרא, וכו'. הם יכולים גם לסמן דוא"לים ככוכב, לא נקרא, או אפילו להעביר אותם לתיקיות שונות. הקוד Ruby הבא מדגים כיצד לסמן דוא"ל, להוסיף תגים ולהעביר לתיקייה בתוך יישומי Ruby.

איך לסמן אימייל, להוסיף תוויות ולהעביר לתיקייה ספציפית דרך ספריית 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')
 עִברִית