迁移到 Bird 时的 3 个提示:从 Postfix、Sendmail 或 Exim
汤·梅尔斯
2018年8月3日
电子邮件
1 min read

关键要点
从 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



