クイックスタート
このガイドでは、何もない状態から、ご自身のドメインで実際にメールを送信するまでを説明します。
-
API キーを作成
ダッシュボードを開き、API キー に移動して API キーを作成 をクリックします。試している間は
full_accessを選んでください。キーはすぐにコピーしてください。sp_live_で始まり、表示されるのは 1 回だけです。ターミナルウィンドウ export SPACEPOST_API_KEY="sp_live_YOUR_API_KEY" -
テストメールを送信
共有のテスト用送信元
onboarding@test.spacepost.devを使えば、ドメインがなくてもすぐに送信できます。宛先にできるのは、ご自身のチームメンバーのメールアドレスと、delivered@test.spacepost.devなどのテスト用アドレスのみです。ターミナルウィンドウ npm install @spacepost/nodesend.ts import { SpacePost } from "@spacepost/node";const spacepost = new SpacePost(process.env.SPACEPOST_API_KEY);const { data, error } = await spacepost.emails.send({from: "Acme <onboarding@test.spacepost.dev>",to: ["delivered@test.spacepost.dev"],subject: "Hello from SpacePost",html: "<strong>It works!</strong>",});if (error) {console.error(error); // { statusCode, name, message }} else {console.log("Sent", data.id);}ターミナルウィンドウ 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": "Hello from SpacePost","html": "<strong>It works!</strong>"}'import osimport requestsr = requests.post("https://api.spacepost.dev/emails",headers={"Authorization": f"Bearer {os.environ['SPACEPOST_API_KEY']}"},json={"from": "Acme <onboarding@test.spacepost.dev>","to": ["delivered@test.spacepost.dev"],"subject": "Hello from SpacePost","html": "<strong>It works!</strong>",},)print(r.status_code, r.json())package mainimport ("fmt""io""net/http""os""strings")func main() {body := `{"from":"Acme <onboarding@test.spacepost.dev>","to":["delivered@test.spacepost.dev"],"subject":"Hello from SpacePost","html":"<strong>It works!</strong>"}`req, _ := http.NewRequest("POST", "https://api.spacepost.dev/emails", strings.NewReader(body))req.Header.Set("Authorization", "Bearer "+os.Getenv("SPACEPOST_API_KEY"))req.Header.Set("Content-Type", "application/json")res, err := http.DefaultClient.Do(req)if err != nil {panic(err)}defer res.Body.Close()out, _ := io.ReadAll(res.Body)fmt.Println(res.StatusCode, string(out))}レスポンスは
{ "id": "0192e1c4-7a3b-7c1e-9d2f-3b5a8e6f4c10" }です。ダッシュボードでメールを開くと、sent、続いてdeliveredというタイムラインを確認できます。 -
ドメインを追加して検証する
任意の宛先に送信するには、ご自身が所有するドメインから送信します。
ターミナルウィンドウ curl -X POST https://api.spacepost.dev/domains \-H "Authorization: Bearer $SPACEPOST_API_KEY" \-H "Content-Type: application/json" \-d '{ "name": "acme.com" }'レスポンスには、作成すべき DNS の
recordsが一覧で含まれます。DKIM 用の CNAME が 3 つと、sendサブドメイン(カスタム Return-Path)用の MX レコードおよび TXT レコードです。これらを DNS プロバイダーに追加してから(Cloudflare や Route 53 などのガイド)、SpacePost に確認を依頼します。ターミナルウィンドウ curl -X POST https://api.spacepost.dev/domains/$DOMAIN_ID/verify \-H "Authorization: Bearer $SPACEPOST_API_KEY"CLI に任せて、DNS の状態をリアルタイムで確認することもできます。
ターミナルウィンドウ npx spacepost domains doctor acme.com検証は通常、数分で完了します。DKIM が確認されると、ドメインの
statusがverifiedになります。 -
ご自身のドメインから送信する
await spacepost.emails.send({from: "Acme <hello@acme.com>",to: ["you@example.com"],subject: "First real email",html: "<p>Sent from my own domain.</p>",});