ガイド
コード例
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連携ガイドをご覧ください。
このページは役に立ちましたか?サポートに問い合わせる