Відкрите Ruby API для перевірки відстеження електронної пошти та статусу доставки
Postal — це повнофункціональний API пошти та платформа доставки, розроблені для обробки вхідних та вихідних листів для веб‑сайтів, додатків та перевірки відстеження електронної пошти та статусу доставки.
Що таке Postal Library?
У сучасному цифровому середовищі ефективна електронна комунікація важливіша, ніж будь‑коли. Незалежно від того, чи надсилаєте ви транзакційні листи, маркетингові кампанії чи рутинні сповіщення, надійна та масштабована платформа доставки електронної пошти є необхідною. Хоча пропрієтарні сервіси, такі як SendGrid і Mailgun, домінують на ринку, потужна open‑source альтернатива набирає популярності: Postal. Gem Postal Ruby — це підтримувана спільнотою бібліотека клієнта Ruby, яка надає інтерфейс для використання платформи доставки електронної пошти Postal. Вона дозволяє застосункам Ruby (і Rails) інтегруватися з Postal через його HTTP API. Вона розроблена з урахуванням потреб розробників Ruby. Вона не просто обгортає кінцеві точки API; вона надає об’єктно‑орієнтований інтерфейс, який виглядає природно у контексті Ruby.
Postal — це повнофункціональна, відкритого коду платформа доставки електронної пошти для веб‑сайтів та веб‑серверів. Уявіть її як ваш власний приватний SendGrid або Mailgun, що працює на ваших серверах. Це дає вам повний контроль над надсиланням електронних листів, даними та репутацією. Розроблений на Ruby і підкріплений потужним набором технологій, Postal призначений для продуктивності, масштабованості та простоти використання. Він надає всебічний веб‑інтерфейс для керування вашими поштовими серверами, перегляду журналів та відстеження продуктивності, а також пропонує потужний API для безшовної інтеграції з вашими застосунками.
Початок роботи з Postal
Найпростіший спосіб встановити бібліотеку Postal — через RubyGems. Будь ласка, використайте наступну команду для легкого встановлення.
Встановити Postal через Rubygems
gem install 'postal-ruby'Надсилання базового електронного листа через Ruby API
Відкриті API Postal включають повну підтримку надсилання електронних листів різними способами. Ruby‑розробники можуть надсилати листи різними способами, задовольняючи різні рівні складності. Simple Hash ідеальний для швидкого надсилання з базовими параметрами. Текстовий та HTML‑формат можна використовувати для надсилання багаточастинних листів. Він також підтримує легке прикріплення файлів до ваших електронних листів тощо. Наведений приклад демонструє найпростіший спосіб надіслати лист.
Як надіслати простий лист за допомогою Ruby API?
# Create a client instance
client = Postal::Client.new
# Send a message using a hash of parameters
message = client.send_message(
from: 'noreply@yourdomain.com',
to: 'customer@example.com',
subject: 'Welcome to Our Service!',
body: 'Thank you for signing up. We are excited to have you on board.'
)
# The response contains the message ID, which you can use for tracking
puts "Message sent! ID: #{message.message_id}"
Перевірка відстеження електронної пошти та статусу доставки
Відстежуйте відкриття листів та кліки, щоб оцінити ефективність ваших кампаній. Postal API забезпечує повну функціональність для відстеження ваших електронних листів у Ruby‑додатках. Після надсилання листа ви можете використати повернений message_id, щоб перевірити його поточний статус. Відстежуйте відкриття листів та кліки, щоб оцінити ефективність ваших кампаній. Наведений приклад показує, як перевірити статус доставки електронного листа за допомогою Ruby‑команд.
Як перевірити статус доставки електронного листа за допомогою Ruby API?
# Assume you've stored the message_id from the send operation
stored_message_id = '01G5XYZABCDEF1234567890'
# Get the message details from Postal
message_details = client.get_message(stored_message_id)
# Check the delivery status
puts "Message Status: #{message_details.status}"
# Inspect the raw message (as received by the destination server)
puts "Raw Message: #{message_details.raw_message}"
# Check if the email has been opened
if message_details.opens.any?
puts "The email was opened #{message_details.opens.count} time(s)."
end
Надсилання багатоформатного HTML листа з вкладенням
Сучасні електронні листи часто вимагають форматування HTML та вкладень. Відкритий API електронної пошти Postal спрощує розробникам програмного забезпечення створення та надсилання багатих HTML‑повідомлень з їхніх Ruby‑додатків. Рекомендовано завжди включати текстову версію для клієнтів електронної пошти, які не підтримують HTML. Ви можете передати масив об’єктів File, щоб прикріпити документи, зображення тощо. Ось дуже корисний приклад коду, який показує, як розробники можуть створювати та надсилати HTML‑повідомлення з вкладеннями, використовуючи Ruby API.
Як надіслати багатоформатний HTML лист з вкладенням за допомогою Ruby API?
client = Postal::Client.new
message = client.send_message(
from: 'orders@yourdomain.com',
to: 'customer@example.com',
subject: 'Your Order Confirmation #12345',
html_body: File.read('path/to/order_confirmation.html'), # Load HTML from a file
plain_body: 'Thank you for your order. Your order number is #12345.', # Fallback text
attachments: [
File.open('/path/to/invoice_12345.pdf') # Attach a file
]
)
puts "Rich email sent with attachment! ID: #{message.message_id}"