Открытый Ruby API для проверки отслеживания электронной почты и статуса доставки
Postal — полнофункциональный API почты и платформа доставки, разработанные для обработки входящей и исходящей электронной почты для веб-сайтов, приложений и проверки отслеживания электронной почты и статуса доставки.
Что такое Postal Library?
В современном цифровом ландшафте эффективная электронная коммуникация важнее, чем когда-либо. Независимо от того, отправляете ли вы транзакционные письма, маркетинговые кампании или обычные уведомления, надёжная и масштабируемая платформа доставки электронной почты является необходимой. Хотя такие проприетарные сервисы, как SendGrid и Mailgun, доминируют на рынке, мощная открытая альтернатива набирает популярность: 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
Открытый исходный код Postal API включает полную поддержку отправки электронных сообщений различными способами. Разработчики на Ruby могут отправлять письма несколькими способами, учитывая разные уровни сложности. Simple Hash идеально подходит для быстрой отправки с базовыми параметрами. Текстовый и HTML‑форматы можно использовать для отправки multipart‑писем. Он также поддерживает простое прикрепление файлов к вашим сообщениям и т.д. Следующий пример демонстрирует самый простой способ отправки письма.
Как отправить простое письмо с помощью 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}"