入口①:HTTP API。JSON を1回 POST するだけ
HTTP API は、Web の API を呼ぶのと同じ形で使えます。
tsconst res = await fetch("https://api.resend.com/emails", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RESEND_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
from: "Animemo <[email protected]>",
to: "[email protected]",
subject: "招待が届いています",
html: "<p>…</p>",
text: "…",
}),
});
const { id } = await res.json();
Authorization ヘッダーに API キーを載せることで、「この頼みは正当な持ち主から来た」ことを Resend に示します。
from には、Resend で確認済みのドメインのアドレスしか使えません。確認していないドメインを名乗れないことは、4〜7本目で見たなりすまし対策の考え方そのものです。
成功すると、送ったメールの `id` が返ってきます。この id は、後で Resend から「届いた」「戻ってきた」という知らせ(11本目の Webhook)が来たときに、どのメールの話かを照らし合わせるのに使います。DB に残しておきます。