-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Postmark-Server-Token: server token" \
-d '{
"From": "sender@example.com",
"To": "receiver@example.com",
"Subject": "Postmark test",
"TextBody": "Hello dear Postmark user.",
"HtmlBody": "<html><body><strong>Hello</strong> dear Postmark user.</body></html>",
"MessageStream": "outbound"
}'

header身份驗(yàn)證

為了向服務(wù)驗(yàn)證您的身份,您需要使用 X-Postmark-Server-Token標(biāo)頭進(jìn)行身份驗(yàn)證和授權(quán)。每個(gè) Postmark 服務(wù)器都有自己的 API 令牌,允許您隔離連接到 Postmark 的每個(gè)應(yīng)用程序的訪問和數(shù)據(jù)。

標(biāo)頭名稱和值不區(qū)分大小寫。如果您執(zhí)行的請(qǐng)求包含錯(cuò)誤或缺失的標(biāo)頭,您將收到 HTTP 響應(yīng) 401(未授權(quán))。

測(cè)試

為了測(cè)試目的,Postmark 允許您發(fā)送測(cè)試電子郵件,但這些電子郵件實(shí)際上不會(huì)發(fā)送給收件人。此方法通常用于驗(yàn)證您的數(shù)據(jù)是否有效。您可以通過傳遞 POSTMARK_API_TEST 服務(wù)器 API 令牌來執(zhí)行此操作。

header示例

X-Postmark-Server-Token: server token

JSON 消息格式

JSON 消息在 HTTP POST 請(qǐng)求的正文中傳遞。?From?和?To?字段能夠接受名稱,格式為?John Doe <email@example.com>。您可以提供?HtmlBody?HTML 格式的消息、?TextBody?純文本,或?yàn)槎嗖糠痔峁﹥烧摺6嗖糠职l(fā)送帶有文本版本的 HTML,供不支持 HTML 的客戶端使用。傳遞標(biāo)頭是可選的。

JSON 消息格式示例

{
"From": "sender@example.com",
"To": "receiver@example.com",
"Cc": "copied@example.com",
"Bcc": "blank-copied@example.com",
"Subject": "Test",
"Tag": "Invitation",
"HtmlBody": "<b>Hello</b>",
"TextBody": "Hello",
"ReplyTo": "reply@example.com",
"Metadata": {
"Color":"blue",
"Client-Id":"12345"
},
"Headers": [
{
"Name": "CUSTOM-HEADER",
"Value": "value"
}
],
"TrackOpens": true,
"TrackLinks": "HtmlOnly",
"MessageStream": "outbound"
}

追蹤開啟

您可以使用三種方式激活電子郵件的打開跟蹤:

具有開放跟蹤的 API 請(qǐng)求示例

{
...
"TrackOpens" : true
}

跟蹤鏈接

您可以啟用鏈接跟蹤來獲取收件人在電子郵件中點(diǎn)擊的鏈接的信息。可以按每條消息或每臺(tái)服務(wù)器啟用鏈接跟蹤。

了解有關(guān)鏈接跟蹤的更多信息。

帶有鏈接跟蹤的 API 請(qǐng)求示例

{
...
"TrackLinks" : "HtmlAndText"
}

附件

附件在 JSON 消息的數(shù)組中指定 Attachments 。然后可以將各個(gè)附件作為單獨(dú)的對(duì)象存儲(chǔ)在該數(shù)組中。 

此 Name 字段是將顯示給郵件收件人的實(shí)際文件名。為了消除傳播病毒或間諜軟件的可能性,我們不允許某些文件類型:

該 ContentType 字段是電子郵件客戶端用來解釋附件的 MIME 內(nèi)容類型。

該 Content 字段存儲(chǔ)文件的二進(jìn)制數(shù)據(jù),必須以 base64 編碼的字符串形式傳輸。大多數(shù)編程語言和庫都內(nèi)置了此功能,例如 Java、  .NET、  PHP、  Ruby

限制:

帶附件的示例消息

{
...
"Attachments": [
{
"Name": "readme.txt",
"Content": "dGVzdCBjb250ZW50",
"ContentType": "text/plain"
},
{
"Name": "report.pdf",
"Content": "dGVzdCBjb250ZW50",
"ContentType": "application/octet-stream"
}
]
}

內(nèi)聯(lián)圖像附件

Postmark 還允許您通過 HTML 消息發(fā)送內(nèi)嵌圖像。圖像必須采用 base64 編碼,并且字段 ContentID 必須與圖像的 CID 匹配。

只要 CID 標(biāo)簽匹配,Postmark 就會(huì)自動(dòng)將圖像嵌入到 HTML 中。 注意: 如果您在消息中多次引用附加圖像,則只需附加一次圖像。Postmark 將按照 HTML 標(biāo)記中引用圖像的頻率使用該圖像。這將節(jié)省帶寬,避免附件大小限制。

帶有內(nèi)嵌圖像附件的示例消息

{
...
"Attachments": [
{
"Name": "bacon.jpg",
"Content": "/9j/4AAQSkZJRgABAgEAAAAAAAD/4",
"ContentType": "image/jpeg",
"ContentID": "cid:part1.01030607.06070005@gmail.com"
}
]
}

HTML 內(nèi)聯(lián)圖像示例

<img src="cid:part1.01030607.06070005@gmail.com">

成功

如果一切順利,您將收到一條類似示例的 JSON 消息。

該 MessageID 字段可用于登錄您的系統(tǒng)。然后,它可用于將您發(fā)送的消息與您從退回 webhook 或退回 API 獲得的可能退回相關(guān)聯(lián)。

查看API 錯(cuò)誤的完整列表  以了解更多詳細(xì)信息。

示例 JSON 響應(yīng)

{
"ErrorCode": 0,
"Message": "OK",
"MessageID": "b7bc2f4a-e38e-4336-af7d-e6c392c2f817",
"SubmittedAt": "2010-11-26T12:01:05.1794748-05:00",
"To": "receiver@example.com"
}

檢索附件

Postmark 不以任何方式托管附件,因此無法通過 Postmark UI、API 或 webhook 檢索附件。

發(fā)送批量電子郵件

POST

/email/batch

我們理解,處理量較大或處理時(shí)間受限的開發(fā)人員需要批量發(fā)送消息。為了方便使用,我們提供了一個(gè)批處理端點(diǎn),允許您在單個(gè) API 調(diào)用中發(fā)送最多 500 條格式正確的 Postmark 消息。如果您使用批量調(diào)用發(fā)送廣播(批量)消息,請(qǐng)使用 MessageStream 字段設(shè)置您的發(fā)送流。

請(qǐng)注意,批處理端點(diǎn)每個(gè) API 調(diào)用最多接受 500 條消息,有效負(fù)載大小最多為 50 MB(包括附件)。

批量消息的格式為包含多個(gè)消息請(qǐng)求的JSON數(shù)組,

批量請(qǐng)求示例可參見此處。

使用 curl 的示例請(qǐng)求

curl "https://api.postmarkapp.com/email/batch" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Postmark-Server-Token: server token" \
-d '[{
"From": "sender@example.com",
"To": "receiver1@example.com",
"Subject": "Postmark test #1",
"TextBody": "Hello dear Postmark user.",
"HtmlBody": "<html><body><strong>Hello</strong> dear Postmark user.</body></html>",
"MessageStream": "outbound"
},
{
"From": "sender@example.com",
"To": "receiver2@example.com",
"Subject": "Postmark test #2",
"TextBody": "Hello dear Postmark user.",
"HtmlBody": "<html><body><strong>Hello</strong> dear Postmark user.</body></html>",
"MessageStream": "outbound"
}
]'

回復(fù)

類似地,您將收到一個(gè)匹配的 JSON 數(shù)組,其中包含您在批量調(diào)用中發(fā)送的每個(gè)消息的響應(yīng)。

查看API 錯(cuò)誤的完整列表??以了解更多詳細(xì)信息。

上一篇:

如何獲取百度AI開放平臺(tái) API Key 密鑰(分步指南)

下一篇:

如何獲取飛書API開放平臺(tái)訪問token分步指南
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)