1. 产品
  2.   电子邮件
  3.   Ruby
  4.   Postal
 
  

开源 Ruby API 用于检查电子邮件跟踪和投递状态

Postal 是全功能邮件 API 和投递平台,旨在处理网站、应用的收发邮件以及检查电子邮件跟踪和投递状态。

什么是 Postal Library?

在当今的数字环境中,有效的电子邮件沟通比以往任何时候都更加重要。无论是发送事务性邮件、营销活动还是日常通知,可靠且可扩展的邮件投递平台都是必不可少的。虽然 SendGrid 和 Mailgun 等专有服务主导市场,但一个强大的开源替代方案正在崭露头角:Postal。Postal Ruby gem 是由社区维护的 Ruby 客户端库,提供了使用 Postal 邮件投递平台的接口。它允许 Ruby(以及 Rails)应用通过其 HTTP API 与 Postal 集成。该库专为 Ruby 开发者设计。它不仅仅是对 API 端点的封装;还提供了一个面向对象的接口,在 Ruby 环境中使用起来非常自然。

Postal 是一个完整、功能齐全的开源邮件投递平台,适用于网站和网络服务器。可以把它看作是您自己的私有 SendGrid 或 Mailgun,运行在您自己的服务器上。这让您对邮件发送、数据和声誉拥有完全控制。Postal 使用 Ruby 开发,并由一套强大的技术支持,旨在实现高性能、可扩展性和易用性。它提供了全面的网页界面,用于管理邮件服务器、查看日志和跟踪性能,同时提供强大的 API,便于与您的应用程序无缝集成。

Previous Next

开始使用 Postal

安装 Postal 库的最简方式是通过 RubyGems。请使用以下命令进行轻松安装。

通过 Rubygems 安装 Postal

 gem install 'postal-ruby'

通过 Ruby API 发送基础电子邮件

开源的 Postal API 已经全面支持以多种方式发送电子邮件。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 格式和附件。开源的 Postal 邮件 API 让软件开发者能够轻松地从 Ruby 应用程序创建并发送丰富的 HTML 邮件。最佳实践是始终为不支持 HTML 的邮件客户端提供纯文本版本。您可以传递 File 对象数组来附加文档、图像等。以下是一个非常有用的代码示例,展示了软件开发者如何使用 Ruby API 创建并发送带附件的 HTML 邮件。

如何使用 Ruby API 发送带附件的富 HTML 邮件?

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}"
 中国人