API روبی منبع باز برای ساخت برنامههای خودکارسازی ایمیل
کتابخانه رایگان روبی برای خودکارسازی ایمیل که ایجاد برنامههای خودکارسازی ایمیل و ارسال ایمیلها از طریق قالبها را ساده میکند. ایجاد، مدیریت و ردیابی انواع مختلف توالیهای ایمیل در برنامههای روبی.
MailyHerald چیست؟
MailyHerald یک جم قدرتمند و منبع باز برای Ruby on Rails است که برای سادهسازی ارتباط ایمیلی در برنامههای Ruby طراحی شده است. به عنوان یک جایگزین میزبانیشده خود برای سرویسهایی مانند Mailchimp عمل میکند و ابزارهای قدرتمندی را برای توسعهدهندگان جهت مدیریت انواع مختلف کمپینهای ایمیلی، از جمله ایمیلهای تراکنشی، خبرنامهها و توالیهای خوشآمدگویی فراهم میآورد. این کتابخانه انواع مختلف ارسال ایمیل را پشتیبانی میکند، از جمله ارسالهای لحظهای (Ad‑hoc)، ارسالهای یکبار، ارسالهای دورهای و توالیهای ایمیلی. MailyHerald با قالبسازی Liquid یکپارچه میشود و امکان محتوای پویا در ایمیلها را فراهم میکند. این ویژگی بهدلیل استفاده از ویژگیهای کاربر، پیامهای شخصیسازیشده را امکانپذیر میسازد. با ترویج قالبهای سازمانیافته، منطق جداگانه و پیکربندی متمرکز، به توسعهدهندگان این امکان را میدهد تا ویژگیهای ارتباطی قابل نگهداریتر، مقیاسپذیرتر و قویتری بسازند.
MailyHerald بسیار آسان برای استفاده است و به توسعهدهندگان امکان میدهد سیستمهای پیشرفتهٔ خودکارسازی ایمیل را مستقیماً در برنامههای Ruby on Rails خود ایجاد کنند. برای توسعهدهندگان نرمافزاری که به دنبال ساخت ابزارهای خودکارسازی ایمیل، پلتفرمهای بازاریابی یا سیستمهای تعامل با مشتری هستند، MailyHerald پایهٔ ایدهآلی را فراهم میکند. ارسال ایمیلها بهصورت ناهمزمان با استفاده از Sidekiq انجام میشود، که عملیات غیرمسدودکننده و پردازش کارآمد را تضمین میکند. انعطافپذیری آن، همراه با ویژگیهای قدرتمندی مانند پردازش پسزمینه و قالبسازی پویا، آن را به گزینهای عالی برای توسعهدهندگانی تبدیل میکند که به دنبال یک سیستم مدیریت ایمیل میزبانیشده خود هستند.
شروع کار با MailyHerald
آسانترین روش برای نصب کتابخانهٔ MailyHerald استفاده از RubyGems است. لطفاً برای نصب آسان از فرمان زیر استفاده کنید.
MailyHerald را از طریق Rubygems نصب کنید
gem install maily_heraldایجاد توالیهای ایمیل با استفاده از Ruby
کتابخانه منبع باز MailyHerald به توسعهدهندگان نرمافزار امکان ساخت توالیهای پیچیده ایمیل با زمانبندی دقیق را در برنامههای Ruby میدهد. مجموعهای از ایمیلها که به ترتیب تعریفشده با تأخیرهای خاص ارسال میشوند، برای فرآیندهای ورود کاربران (onboarding) ایدهآل است. علاوه بر این، رویکردی ساده و کاربرپسند برای مدیریت اعلانهای ایمیلی در برنامههای Ruby ارائه میکند. مثال زیر نشان میدهد چگونه میتوان توالیهای پیچیده ایمیل را با استفاده از دستورات Ruby ایجاد کرد.
چگونه توالیهای ایمیل پیچیده را در برنامههای Ruby ایجاد کنیم؟
MailyHerald.sequence(:onboarding) do |sequence|
sequence.title = "User Onboarding Sequence"
sequence.list = :all_users
sequence.start_at = "user.created_at"
# Welcome email (immediately)
sequence.add_emails do |email|
email.title = "Welcome Email"
email.subject = "Welcome to Our App!"
email.absolute_delay = 0.hours
email.template = "Hi {{user.name}}, thanks for joining us!"
end
# Follow-up (3 days later)
sequence.add_emails do |email|
email.title = "Getting Started Guide"
email.subject = "Here's how to get the most from our app"
email.absolute_delay = 3.days
end
end
ایجاد ماشههای مبتنی بر رویداد با Ruby
ایمیلها میتوانند توسط رویدادهای برنامه فعال شوند، که این ویژگی آن را برای ورود کاربران یا پیامرسانی مبتنی بر فعالیت ایدهآل میکند. کتابخانه منبع باز MailyHerald پشتیبانی کامل برای ایجاد و مدیریت محرکهای ایمیلی مبتنی بر رویداد در برنامههای Ruby فراهم کرده است. در اینجا یک مثال ساده آورده شده است که نشان میدهد توسعهدهندگان نرمافزار چگونه میتوانند یک توالی مبتنی بر رویداد را با استفاده از دستورات Ruby تعریف کنند.
چگونه یک توالی مبتنی بر رویداد را در برنامههای Ruby تعریف کنیم؟
MailyHerald.sequence(:abandoned_cart) do |sequence|
sequence.title = "Abandoned Cart Reminders"
sequence.list = :shopping_users
sequence.trigger = :cart_updated
sequence.add_emails do |email|
email.title = "1 Hour Reminder"
email.subject = "Your cart is waiting!"
email.absolute_delay = 1.hour
email.conditions = "{{user.cart.items.count}} > 0"
end
end
مدیریت قالبهای ایمیل پویا با Ruby
یکی از ویژگیهای برجسته کتابخانه منبع باز MailyHerald، سیستم قالبسازی قدرتمند آن است. توسعهدهندگان میتوانند قالبهای ایمیل را با مکانگیرهایی برای محتوای پویا تعریف کنند. این به این معنی است که میتوانید یک قالب واحد برای نوع خاصی از اعلان ایجاد کنید و سپس آن را با جزئیات مخصوص به کاربر مانند نامها، شماره سفارشها و اقلام خریداری شده در زمان اجرا پر کنید. این بهطور قابل توجهی تکرار را کاهش میدهد و بهروزرسانی قالبها را بسیار آسانتر میکند. در اینجا یک مثال ساده نشان داده شده است که چگونه از قالبهای Liquid برای ارسال ایمیل در برنامههای Ruby استفاده کنید.
چگونه ایمیل را با استفاده از قالبهای Liquid از طریق کتابخانه Ruby ارسال کنیم؟
config.ad_hoc_mailing :welcome do |mailing|
mailing.list = :newsletters
mailing.subject = "Welcome, {{user.name}}!"
mailing.template = "We're glad to have you on board."
mailing.enable
end
قابلیت انعطاف و گسترشپذیری
در حالی که کتابخانه MailyHerald پایهای محکم فراهم میکند، همچنین بهگونهای طراحی شده است که قابل گسترش باشد. توسعهدهندگان میتوانند آن را با سرویسهای مختلف ارسال ایمیل (مانند SendGrid، Mailgun یا حتی SMTP استاندارد) یکپارچه کنند و رفتار آن را برای برآورده کردن نیازهای خاص پروژه سفارشیسازی کنند.