کتابخانه منبع باز روبی برای ایجاد و پردازش ایمیل
API رایگان روبی که به برنامههای روبی امکان دسترسی و مدیریت حسابهای جیمیل را از طریق IMAP میدهد. نوشتن، ارسال، بایگانی، جابجایی و حذف پیامهای ایمیل از طریق کتابخانه روبی.
کتابخانه Ruby-Gmail چیست؟
در عصری که ایمیل هنوز نقش حیاتی در جریانهای ارتباطی دارد، توسعهدهندگان نرمافزار اغلب نیاز دارند بهصورت برنامهنویسی با Gmail تعامل داشته باشند. چه استخراج گزارشها، ارسال اعلانهای خودکار یا نظارت بر صندوقهای ورودی باشد، داشتن ابزارهای مناسب میتواند ساعتها زمان را صرفهجویی کند. Ruby-Gmail یک جِم منبعباز Ruby است که رابطی ساده و شبیه Ruby برای Gmail از طریق پروتکل IMAP فراهم میکند. این کتابخانه توسط توسعهدهنده dcparker ایجاد شده و پیچیدگی دستورات خام IMAP را انتزاع میکند و بهجای آن روشهای قابلخواندن و بیانگر برای کار با صندوقهای ورودی Gmail، ایمیلها، برچسبها، پیوستها و موارد دیگر ارائه میدهد. تنها با چند خط کد Ruby، توسعهدهندگان میتوانند پیامهای ایمیل چندبخشی را به صورت متن ساده و/یا HTML، همراه با تصاویر درونخطی و پیوستها ایجاد و ارسال کنند.
Ruby-Gmail یک جواهر مخفی برای روبینویسان است که به یک رابط حداقل و زیبا برای خودکارسازی وظایف Gmail نیاز دارند. این کتابخانه شامل ویژگیهای مختلفی برای کار با ایمیلهای Gmail است، مانند احراز هویت به Gmail، خواندن، جستجو یا فیلتر کردن ایمیلها، نوشتن و ارسال پیامها، حذف یا پاک کردن ایمیل، بایگانی پیامها، دسترسی به پیوستهای ایمیل، سازماندهی ایمیلها با استفاده از برچسبها و غیره. توسعه فعال این کتابخانه و طبیعت منبع باز آن به این معنی است که به بهبود و سازگاری با تغییرات API Gmail ادامه میدهد. علاوه بر برخی ویژگیهای عالی، محدودیتهایی نیز وجود دارد مانند این که OAuth2 هنوز پشتیبانی نمیشود و به IMAP وابسته است، که ممکن است تمام ویژگیهای خاص Gmail را نشان ندهد. این کتابخانه برای وظایف اسکریپتنویسی یا یکپارچهسازی Gmail در برنامههای سبک Ruby مناسب است.
شروع کار با Mail
سادهترین روش برای نصب کتابخانه Ruby-Gmail از طریق RubyGems است. لطفاً برای نصب آسان از فرمان زیر استفاده کنید.
نصب Ruby-Gmail از طریق Rubygems
gem install gmailاحراز هویت ایمیل در برنامههای Ruby
کتابخانه منبع باز Ruby-Gmail از روشهای متعدد احراز هویت از جمله OAuth2 و نام کاربری/رمز عبور ساده پشتیبانی میکند. این کتابخانه امکان ورود ساده با استفاده از آدرس Gmail و رمز عبور یا رمز عبور مخصوص برنامه (توصیهشده برای حسابهای دارای 2FA) را فراهم میآورد. بهعلاوه، اگر نیاز به استفاده از OAuth یا مدیریت ورود خارج از اسکریپت دارید، Ruby-Gmail از اتصال مبتنی بر بلوک پشتیبانی میکند. لطفاً توجه داشته باشید که برای امنیت، از کدگذاری مستقیم رمزها خودداری کنید؛ از متغیرهای محیطی یا مدیریت رازها استفاده کنید. مثالهای کد زیر هر دو روش را برای پردازش احراز هویت ایمیل از طریق API روبی نشان میدهند.
چگونه احراز هویت ایمیل پایه و 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')