迁移到 Bird 时的 3 个提示:从 Postfix、Sendmail 或 Exim

汤·梅尔斯

2018年8月3日

电子邮件

1 min read

迁移到 Bird 时的 3 个提示:从 Postfix、Sendmail 或 Exim

关键要点

    • 从 Postfix、Sendmail 或 Exim 迁移到 Bird 简单且不费力——您可以通过 SMTP 路由电子邮件,只需进行最小的配置更改。

    • Bird 支持 SMTP 和 REST API 注入,让您可以在传统的基于中继的发送和现代的基于 JSON 的传输之间进行选择。

    • REST API 将模板生成和大规模邮件传递从本地服务器转移,提高了可扩展性和传递速度。

    • Bird 的 事件和指标 API 提供 JSON 格式的传递数据,使得与 Postfix 日志相比,跟踪退信、打开、点击和投诉变得更容易。

    • 您可以集成 webhooks 以获得实时反馈,或按需提取指标——非常适合分析仪表板和合规工作流程。

    • Bird 的架构确保通过端口 587 进行 安全的 TLS 通信,并支持在不进行复杂基础设施更改的情况下轻松迁移。

Q&A 精华

  • 从Postfix或Sendmail迁移到Bird的最简单方法是什么?

    只需将您现有的SMTP配置指向Bird的安全中继端口587,并启用TLS—无需进行重大代码更改。

  • Bird 支持基于 REST 的电子邮件发送而不是 SMTP 吗?

    是的。Bird的REST API接受带有模板和收件人列表的JSON负载,自动生成并大规模发送个性化消息。

  • 迁移后,我如何监控消息传递和性能?

    使用 Bird 的事件 webhook 或 message_events 和 metrics API 实时或通过计划查询跟踪传送、退信、开启和投诉。

  • 我可以用Bird的报告工具替换Postfix日志吗?

    当然。Bird 的 JSON 事件模型为自动化和轻松集成分析工具而构建——无需日志解析。

  • 兼容性如何与现有本地系统?

    Bird 支持使用 S/MIME 和 TLS 的混合和安全设置,允许您将本地系统或管理代码直接连接到 Bird 的平台。

  • 为什么从传统MTA迁移到Bird?

    Bird 集中管理可交付性、分析和可扩展性,消除了维护开销,同时为开发人员和营销人员提供对性能的统一见解。

本文档概述了客户使用Bird进行通用集成的常见方式。这些集成涵盖了诸如“如何发送电子邮件?”和“我如何知道电子邮件发生了什么事?”等基本主题。对于拥有混合本地和云端设置以及安全要求的组织,我们的本地平台的S/MIME实施指南涵盖了PowerMTA和Momentum配置以确保电子邮件的安全发送。如果您正在从Postfix、Sendmail或Exim进行转换,本文档应能解释关于电子邮件发送和报告基础的一切。本文档的其余部分假定您已有一个SparkPost账户。

本文档概述了客户使用Bird进行通用集成的常见方式。这些集成涵盖了诸如“如何发送电子邮件?”和“我如何知道电子邮件发生了什么事?”等基本主题。对于拥有混合本地和云端设置以及安全要求的组织,我们的本地平台的S/MIME实施指南涵盖了PowerMTA和Momentum配置以确保电子邮件的安全发送。如果您正在从Postfix、Sendmail或Exim进行转换,本文档应能解释关于电子邮件发送和报告基础的一切。本文档的其余部分假定您已有一个SparkPost账户。

本文档概述了客户使用Bird进行通用集成的常见方式。这些集成涵盖了诸如“如何发送电子邮件?”和“我如何知道电子邮件发生了什么事?”等基本主题。对于拥有混合本地和云端设置以及安全要求的组织,我们的本地平台的S/MIME实施指南涵盖了PowerMTA和Momentum配置以确保电子邮件的安全发送。如果您正在从Postfix、Sendmail或Exim进行转换,本文档应能解释关于电子邮件发送和报告基础的一切。本文档的其余部分假定您已有一个SparkPost账户。

我如何发送 email?

Bird 接收邮件用于转发有几种方法。目前最常见的是 SMTP (Simple Mail Transfer Protocol),Bird 突出自己和任何其他安全电子邮件代理一样,在端口 587。 如果您当前有生成或邮件合并软件创建邮件以进行传递,Bird 会接受它作为标准 SMTP 消息并尝试传递。您将需要一个拥有有效 TLS 证书的系统,能够生成 SMTP 消息并通过端口 587 发送。Postfix、Sendmail 和 Exim 都原生具有此功能。

SMTP 转发迁移清单

SMTP 路径

需要更改

Postfix → Bird

在 /etc/postfix/transport 更新中继 → * smtp:MyMessageBirdServer.com

Sendmail → Bird

在 sendmail.mc 添加 SMART_HOST → smtp.MyMessageBirdServer.com

出站端口

设置为 587,并启用 TLS

Web 服务器发送

将消息路由到 Bird SMTP 而不是本地 MTA

需要重启

是的 — 应用配置并重启 MTA/服务

Bird 接收邮件用于转发有几种方法。目前最常见的是 SMTP (Simple Mail Transfer Protocol),Bird 突出自己和任何其他安全电子邮件代理一样,在端口 587。 如果您当前有生成或邮件合并软件创建邮件以进行传递,Bird 会接受它作为标准 SMTP 消息并尝试传递。您将需要一个拥有有效 TLS 证书的系统,能够生成 SMTP 消息并通过端口 587 发送。Postfix、Sendmail 和 Exim 都原生具有此功能。

SMTP 转发迁移清单

SMTP 路径

需要更改

Postfix → Bird

在 /etc/postfix/transport 更新中继 → * smtp:MyMessageBirdServer.com

Sendmail → Bird

在 sendmail.mc 添加 SMART_HOST → smtp.MyMessageBirdServer.com

出站端口

设置为 587,并启用 TLS

Web 服务器发送

将消息路由到 Bird SMTP 而不是本地 MTA

需要重启

是的 — 应用配置并重启 MTA/服务

Bird 接收邮件用于转发有几种方法。目前最常见的是 SMTP (Simple Mail Transfer Protocol),Bird 突出自己和任何其他安全电子邮件代理一样,在端口 587。 如果您当前有生成或邮件合并软件创建邮件以进行传递,Bird 会接受它作为标准 SMTP 消息并尝试传递。您将需要一个拥有有效 TLS 证书的系统,能够生成 SMTP 消息并通过端口 587 发送。Postfix、Sendmail 和 Exim 都原生具有此功能。

SMTP 转发迁移清单

SMTP 路径

需要更改

Postfix → Bird

在 /etc/postfix/transport 更新中继 → * smtp:MyMessageBirdServer.com

Sendmail → Bird

在 sendmail.mc 添加 SMART_HOST → smtp.MyMessageBirdServer.com

出站端口

设置为 587,并启用 TLS

Web 服务器发送

将消息路由到 Bird SMTP 而不是本地 MTA

需要重启

是的 — 应用配置并重启 MTA/服务

那么 REST injection 呢?

对于那些在网络中使用HTTP(S)传输数据的客户,将消息转换为SMTP可能会很繁琐。Bird拥有一个全面的REST API,可以接受通过HTTPS传输的JSON模板、收件人列表和替代数据,然后将其转换为要通过标准SMTP发送给全球的生成(合并)电子邮件。这对于将生成工作从Web服务器转移到邮件引擎特别有帮助。

用于电子邮件注入的SMTP vs REST

方法

最佳用途

优点

迁移工作量

SMTP中继

现有的本地MTA集成

最少的更改,安全端口587

最简单的切换

REST API

JSON驱动的架构

将渲染和扩展转移到Bird

需要实施工作

混合

过渡期

冗余和渐进迁移

中等努力

示例:

您的服务器每日生成发送给50,000名收件人的新闻简报,合并个人数据然后通过Postfix单独发送。
· 为收件人、替代数据和内容模板创建JSON对象。
· 使用REST API将JSON对象POST到Bird的Transmission API。这将生成过程转移到SparkPost以加快传递速度。
· 您甚至可以将JSON放入文件中并使用cURL:

curl -v -H "Content-Type: application/json" -X POST \ https://api.bird.com/api/v1transmissions -d@./newsletter.json

对于那些在网络中使用HTTP(S)传输数据的客户,将消息转换为SMTP可能会很繁琐。Bird拥有一个全面的REST API,可以接受通过HTTPS传输的JSON模板、收件人列表和替代数据,然后将其转换为要通过标准SMTP发送给全球的生成(合并)电子邮件。这对于将生成工作从Web服务器转移到邮件引擎特别有帮助。

用于电子邮件注入的SMTP vs REST

方法

最佳用途

优点

迁移工作量

SMTP中继

现有的本地MTA集成

最少的更改,安全端口587

最简单的切换

REST API

JSON驱动的架构

将渲染和扩展转移到Bird

需要实施工作

混合

过渡期

冗余和渐进迁移

中等努力

示例:

您的服务器每日生成发送给50,000名收件人的新闻简报,合并个人数据然后通过Postfix单独发送。
· 为收件人、替代数据和内容模板创建JSON对象。
· 使用REST API将JSON对象POST到Bird的Transmission API。这将生成过程转移到SparkPost以加快传递速度。
· 您甚至可以将JSON放入文件中并使用cURL:

curl -v -H "Content-Type: application/json" -X POST \ https://api.bird.com/api/v1transmissions -d@./newsletter.json

对于那些在网络中使用HTTP(S)传输数据的客户,将消息转换为SMTP可能会很繁琐。Bird拥有一个全面的REST API,可以接受通过HTTPS传输的JSON模板、收件人列表和替代数据,然后将其转换为要通过标准SMTP发送给全球的生成(合并)电子邮件。这对于将生成工作从Web服务器转移到邮件引擎特别有帮助。

用于电子邮件注入的SMTP vs REST

方法

最佳用途

优点

迁移工作量

SMTP中继

现有的本地MTA集成

最少的更改,安全端口587

最简单的切换

REST API

JSON驱动的架构

将渲染和扩展转移到Bird

需要实施工作

混合

过渡期

冗余和渐进迁移

中等努力

示例:

您的服务器每日生成发送给50,000名收件人的新闻简报,合并个人数据然后通过Postfix单独发送。
· 为收件人、替代数据和内容模板创建JSON对象。
· 使用REST API将JSON对象POST到Bird的Transmission API。这将生成过程转移到SparkPost以加快传递速度。
· 您甚至可以将JSON放入文件中并使用cURL:

curl -v -H "Content-Type: application/json" -X POST \ https://api.bird.com/api/v1transmissions -d@./newsletter.json

我如何获取delivery information?

Bird 收集大量投递信息,并以 JSON 格式提供给您,可以通过 webhook“推送”或通过 API 调用“拉取”。一个投递的数据大致如下:

{
  "campaign_id": "Welcome_Letter",
  "customer_id": "108",
  "delv_method": "esmtp",
  "event_id": "84769964978165188",
  "friendly_from": "bounce@sp-send.com",
  "ip_address": "50.116.50.117",
  "ip_pool": "default",
  "message_id": "00046a82565a6d39451a",
  "msg_from": "abc-bounces-108@sp-send..com",
  "msg_size": "2164",
  "num_retries": "0",
  "queue_time": "1759",
  "raw_rcpt_to": "fakespark+32@deadboltemail.com",
  "rcpt_meta": {},
  "rcpt_tags": [],
  "rcpt_to": "fakespark+32@deadboltemail.com",
  "routing_domain": "deadboltemail.com",
  "sending_ip": "52.38.47.118",
  "subject": "Welcome Letter Template",
  "tdate": "2018-01-10T21:15:24.000Z",
  "template_id": "welcome-letter",
  "template_version": "5",
  "transmission_id": "84769964922735103",
  "type": "delivery",
  "timestamp": "2018-01-10T14:15:24.000-07:00"
}

这可能比您在 Postfix 日志中看到的数据多得多,而且它已经是一种容易使用的格式。如果需要,转换该 JSON 数据为 Postfix 日志格式相对简单。 Delivery, bounce, reject, spam_complaint, open, click, 和 delay 数据可以以同样的方式读取。

示例:

1) 您通常将 Postfix 日志导出到 Excel,以便排序和分析。
A) 执行 message_events API 调用,并通过 JSON2CSV 运行生成的 JSON 数据。

2) 您喜欢将 Postfix 日志转换为 JSON,然后拉入网络服务进行读取和分析。
A) 使用 MessageBird metrics API 从 SparkPost 获取所需数据,它会自动导出为 JSON。

3) 您有一个单独的过程可以实时跟踪和解析日志,并更新独立的接收者数据库。
A) SparkPost 可以提供一个实时 webhook,专门为此目的馈送您的 spam_complaintants 和取消订阅流程。实施起来很简单。

-Tom

Bird 收集大量投递信息,并以 JSON 格式提供给您,可以通过 webhook“推送”或通过 API 调用“拉取”。一个投递的数据大致如下:

{
  "campaign_id": "Welcome_Letter",
  "customer_id": "108",
  "delv_method": "esmtp",
  "event_id": "84769964978165188",
  "friendly_from": "bounce@sp-send.com",
  "ip_address": "50.116.50.117",
  "ip_pool": "default",
  "message_id": "00046a82565a6d39451a",
  "msg_from": "abc-bounces-108@sp-send..com",
  "msg_size": "2164",
  "num_retries": "0",
  "queue_time": "1759",
  "raw_rcpt_to": "fakespark+32@deadboltemail.com",
  "rcpt_meta": {},
  "rcpt_tags": [],
  "rcpt_to": "fakespark+32@deadboltemail.com",
  "routing_domain": "deadboltemail.com",
  "sending_ip": "52.38.47.118",
  "subject": "Welcome Letter Template",
  "tdate": "2018-01-10T21:15:24.000Z",
  "template_id": "welcome-letter",
  "template_version": "5",
  "transmission_id": "84769964922735103",
  "type": "delivery",
  "timestamp": "2018-01-10T14:15:24.000-07:00"
}

这可能比您在 Postfix 日志中看到的数据多得多,而且它已经是一种容易使用的格式。如果需要,转换该 JSON 数据为 Postfix 日志格式相对简单。 Delivery, bounce, reject, spam_complaint, open, click, 和 delay 数据可以以同样的方式读取。

示例:

1) 您通常将 Postfix 日志导出到 Excel,以便排序和分析。
A) 执行 message_events API 调用,并通过 JSON2CSV 运行生成的 JSON 数据。

2) 您喜欢将 Postfix 日志转换为 JSON,然后拉入网络服务进行读取和分析。
A) 使用 MessageBird metrics API 从 SparkPost 获取所需数据,它会自动导出为 JSON。

3) 您有一个单独的过程可以实时跟踪和解析日志,并更新独立的接收者数据库。
A) SparkPost 可以提供一个实时 webhook,专门为此目的馈送您的 spam_complaintants 和取消订阅流程。实施起来很简单。

-Tom

Bird 收集大量投递信息,并以 JSON 格式提供给您,可以通过 webhook“推送”或通过 API 调用“拉取”。一个投递的数据大致如下:

{
  "campaign_id": "Welcome_Letter",
  "customer_id": "108",
  "delv_method": "esmtp",
  "event_id": "84769964978165188",
  "friendly_from": "bounce@sp-send.com",
  "ip_address": "50.116.50.117",
  "ip_pool": "default",
  "message_id": "00046a82565a6d39451a",
  "msg_from": "abc-bounces-108@sp-send..com",
  "msg_size": "2164",
  "num_retries": "0",
  "queue_time": "1759",
  "raw_rcpt_to": "fakespark+32@deadboltemail.com",
  "rcpt_meta": {},
  "rcpt_tags": [],
  "rcpt_to": "fakespark+32@deadboltemail.com",
  "routing_domain": "deadboltemail.com",
  "sending_ip": "52.38.47.118",
  "subject": "Welcome Letter Template",
  "tdate": "2018-01-10T21:15:24.000Z",
  "template_id": "welcome-letter",
  "template_version": "5",
  "transmission_id": "84769964922735103",
  "type": "delivery",
  "timestamp": "2018-01-10T14:15:24.000-07:00"
}

这可能比您在 Postfix 日志中看到的数据多得多,而且它已经是一种容易使用的格式。如果需要,转换该 JSON 数据为 Postfix 日志格式相对简单。 Delivery, bounce, reject, spam_complaint, open, click, 和 delay 数据可以以同样的方式读取。

示例:

1) 您通常将 Postfix 日志导出到 Excel,以便排序和分析。
A) 执行 message_events API 调用,并通过 JSON2CSV 运行生成的 JSON 数据。

2) 您喜欢将 Postfix 日志转换为 JSON,然后拉入网络服务进行读取和分析。
A) 使用 MessageBird metrics API 从 SparkPost 获取所需数据,它会自动导出为 JSON。

3) 您有一个单独的过程可以实时跟踪和解析日志,并更新独立的接收者数据库。
A) SparkPost 可以提供一个实时 webhook,专门为此目的馈送您的 spam_complaintants 和取消订阅流程。实施起来很简单。

-Tom

其他新闻

阅读更多来自此类别的内容

A person is standing at a desk while typing on a laptop.

完整的AI原生平台,可与您的业务一起扩展。

© 2025 Bird

A person is standing at a desk while typing on a laptop.

完整的AI原生平台,可与您的业务一起扩展。

© 2025 Bird