测试
切勿使用真实域名下编造的地址进行测试:它们会退信,损害你的发件信誉。SpacePost 在 test.spacepost.dev 提供测试收件箱。发往这些地址的邮件不会被投递到任何地方,但完整的事件流程都会运行,包括 Webhook。
| 地址 | 模拟场景 | 你会看到的事件 |
|---|---|---|
delivered@test.spacepost.dev |
成功投递 | email.sent, email.delivered |
bounced@test.spacepost.dev |
硬退信(永久性) | email.sent, email.bounced |
complained@test.spacepost.dev |
收件人标记为垃圾邮件 | email.sent, email.delivered, email.complained |
delayed@test.spacepost.dev |
临时投递问题 | email.sent, email.delivery_delayed |
softbounced@test.spacepost.dev |
软退信(邮箱已满);30 天内第三次出现时会抑制该地址 | email.sent, email.delivery_delayed |
加上 +label 即可并行运行多个场景并加以区分:delivered+signup@test.spacepost.dev、bounced+case-17@test.spacepost.dev。选择结果时会忽略该标签。
在验证域名之前,你可以使用 onboarding@test.spacepost.dev 发送。它有以下限制:
- 它只能发送到你团队成员的邮箱地址以及
@test.spacepost.dev地址; - 其他任何收件人都会被以
403 validation_error拒绝; - 域名验证通过后,请使用你自己的地址发送。
import { SpacePost } from "@spacepost/node";
const spacepost = new SpacePost(process.env.SPACEPOST_API_KEY);
await spacepost.emails.send({ from: "Acme <onboarding@test.spacepost.dev>", to: ["delivered@test.spacepost.dev", "bounced+case-1@test.spacepost.dev"], subject: "Test", html: "<p>Test</p>",});curl -X POST https://api.spacepost.dev/emails \ -H "Authorization: Bearer $SPACEPOST_API_KEY" -H "Content-Type: application/json" \ -d '{ "from": "Acme <onboarding@test.spacepost.dev>", "to": ["delivered@test.spacepost.dev"], "subject": "Test", "html": "<p>Test</p>" }'测试你的 Webhook 处理程序
Section titled “测试你的 Webhook 处理程序”- 创建一个指向你本机隧道的 Webhook(例如
https://abc123.ngrok.app/webhooks/spacepost),并订阅你要处理的事件。 - 分别发送到
delivered@、bounced@、complained@和delayed@。 - 检查你的处理程序是否验证了签名,并返回
2xx。
测试邮件与其他邮件一样,会计入你的每月配额。