新しいガイド:評判を損なわずに専用IPをウォームアップする方法。 続きを読む →
MigoSMTP
ガイド

コード例

HTTPクライアントでもSMTPライブラリでも利用できます。以下の例はREST APIを直接呼び出しているため、お好みのライブラリに置き換えられます。

連携方法

送信方法は2つあります。HTTPS経由のREST APIと、標準のSMTPです。APIは新規コードに向いており、構造化された結果が得られます。SMTPは既存のアプリケーションやツールに向いています。どちらもAPIキーで認証します。

Node.js

最新のNodeに組み込まれているfetchを使用します。

const res = await fetch("https://api.migosmtp.com/v1/send", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MIGOSMTP_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ from, to, subject, text }),
});
if (!res.ok) throw new Error(`send failed: ${res.status}`);
const { id } = await res.json();

Python

requestsライブラリを使用します。

import os, requests

r = requests.post(
    "https://api.migosmtp.com/v1/send",
    headers={"Authorization": f"Bearer {os.environ['MIGOSMTP_KEY']}"},
    json={"from": sender, "to": to, "subject": subject, "text": text},
    timeout=10,
)
r.raise_for_status()

PHP

ほとんどのPHP環境に付属するcURLを使用します。

$ch = curl_init("https://api.migosmtp.com/v1/send");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("MIGOSMTP_KEY"), "Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode(["from" => $from, "to" => $to, "subject" => $subject, "text" => $text]),
]);
$body = curl_exec($ch);

どの言語にも役立つ心得

すべてのリクエストにタイムアウトを設定してください。再試行は429と5xxに限り、指数バックオフとジッターを加えて行います。429以外の4xxは同じ結果になるため、再試行しないでください。各送信で返されるメッセージIDをログに残しておくと、後から追跡できます。

SMTPライブラリ

Nodemailer、PHPMailer、Pythonのsmtplib、Java Mail、主要フレームワークに組み込まれたSMTPサポートなど、どのSMTPライブラリでも動作します。接続設定はSMTP連携ガイドをご覧ください。

このページは役に立ちましたか?サポートに問い合わせる

数分で送信を始めましょう。

アカウントを作成し、ドメインを追加して、最初のメールを送信します。