Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

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

汤·梅尔斯

2018年8月3日

电子邮件

1 min read

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

汤·梅尔斯

2018年8月3日

电子邮件

1 min read

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

这份文件概述了我们的客户使用 Bird 进行一般集成的常见方式。这些集成涵盖了基本主题,如“我如何发送电子邮件?”和“我如何知道电子邮件的状况?”

Business in a box.

探索我们的解决方案。




本文档概述了客户使用 Bird 进行一般集成的常见方法。 这些集成涵盖了诸如“我如何发送电子邮件?”和“我如何知道电子邮件发生了什么事?”这样的基本主题。 如果您正在从 Postfix、Sendmail 或 Exim 过渡,此文档应解释有关发送和报告电子邮件基础知识的所有信息。 本文档的其余部分假设您已经拥有一个现有的 SparkPost 账户。




我如何发送电子邮件?

Bird 将以几种方式接受传输邮件。到目前为止,最常见的是 SMTP(简单邮件传输协议),Bird 展现自己为任何其他安全电子邮件代理在端口 587 上。 如果您当前有生成或邮件合并软件创建要发送的电子邮件,Bird 将其作为标准 SMTP 消息接受并进行投递。 您将需要一个具有有效 TLS 证书的系统,可以生成 SMTP 消息并通过端口 587 发送。Postfix、Sendmail 和 Exim 都本身具备此功能。




示例 1:

您有一个 Web 服务器,生成的合并消息通过 Postfix 进行电子邮件投递。
· 调整 Web 服务器的生成软件,以将 SMTP 消息发送到您分配的 SparkPost 服务器,而不是 Postfix 服务器
· 真的就是这么简单




示例 2:

您有一些管理代码需要使用本地服务器的“邮件”功能。
· 如果您使用的是 Sendmail,请编辑 /etc/mail/sendmail.mc 文件以添加“smart-host”定义。
例如:define(`SMART_HOST’,`smtp.MyMessageBirdServer.com’)
· 如果您使用的是 Postfix,请编辑 /etc/postfix/transport 文件以添加 smtp 中继定义。
例如:* smtp:MyMessageBirdServer.com
· 确保启用了 TLS 并将您的外发端口设置为 587。
· 应用更改并重新启动本地邮件服务
· 执行管理代码,邮件将路由到 MessageBird 进行投递




REST 注入怎么办?

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




示例:

您的服务器每天为 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




我如何获取投递信息?

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 日志格式是相对简单的。交付、退回、拒绝、垃圾邮件投诉、打开、点击和延迟数据都可以用相同的方法读取。




示例:

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




2) 您喜欢将 Postfix 日志转换为 JSON,然后将其导入 Web 服务进行阅读和分析。
A) 使用 MessageBird 度量 API 调用 SparkPost 以获取您需要的数据,并自动导出为 JSON。




3) 您有一个单独的过程,可以实时跟踪和解析日志,并更新一个单独的收件人数据库。
A) SparkPost 可以提供一个实时 webhook,可以为您的过程提供垃圾邮件投诉人和退订者专门用于此目的。实施非常简单。




-Tom

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

R

Reach

G

Grow

M

Manage

A

Automate

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。