先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

メールを送信する

/v3/smtp/email エンドポイントを使って、トランザクションメールを 1 通ずつ送信します。

エンドポイント

POST /v3/smtp/email

リクエストボディ

基本的なメール

{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"subject": "Welcome to our service!",
"htmlContent": "<html><body><h1>Welcome!</h1><p>Thank you for signing up.</p></body></html>"
}

応用的なメール

{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"cc": [
{
"email": "[email protected]",
"name": "CC User"
}
],
"bcc": [
{
"email": "[email protected]"
}
],
"subject": "Order Confirmation #{{order_id}}",
"htmlContent": "<html><body><h1>Order Confirmed</h1><p>Your order {{order_id}} has been confirmed.</p></body></html>",
"textContent": "Your order {{order_id}} has been confirmed.",
"params": {
"order_id": "12345"
},
"tags": ["transactional", "order-confirmation"],
"headers": {
"X-Custom-Header": "custom-value"
}
}

コード例

JavaScript / Node.js

const brevo = require('@getbrevo/brevo');
const apiInstance = new brevo.TransactionalEmailsApi();
apiInstance.setApiKey(brevo.TransactionalEmailsApiApiKeys.apiKey, process.env.BREVO_API_KEY);
const sendEmail = async () => {
const sendSmtpEmail = new brevo.SendSmtpEmail();
sendSmtpEmail.subject = "Welcome to our service!";
sendSmtpEmail.htmlContent = "<html><body><h1>Welcome!</h1></body></html>";
sendSmtpEmail.sender = { name: "Your App", email: "[email protected]" };
sendSmtpEmail.to = [{ email: "[email protected]", name: "John Doe" }];
try {
const result = await apiInstance.sendTransacEmail(sendSmtpEmail);
console.log('Email sent:', result);
return result;
} catch (error) {
console.error('Error sending email:', error);
throw error;
}
};

Python

import sib_api_v3_sdk
from sib_api_v3_sdk.rest import ApiException
configuration = sib_api_v3_sdk.Configuration()
configuration.api_key['api-key'] = 'YOUR_API_KEY'
api_instance = sib_api_v3_sdk.TransactionalEmailsApi(sib_api_v3_sdk.ApiClient(configuration))
send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(
to=[{"email": "[email protected]", "name": "John Doe"}],
sender={"name": "Your App", "email": "[email protected]"},
subject="Welcome to our service!",
html_content="<html><body><h1>Welcome!</h1></body></html>"
)
try:
api_response = api_instance.send_transac_email(send_smtp_email)
print(api_response)
except ApiException as e:
print("Exception when calling TransactionalEmailsApi->send_transac_email: %s\n" % e)

cURL

Terminal window
curl -X POST "https://api.brevo.com/v3/smtp/email" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"sender": {
"name": "Your App",
"email": "[email protected]"
},
"to": [
{
"email": "[email protected]",
"name": "John Doe"
}
],
"subject": "Welcome to our service!",
"htmlContent": "<html><body><h1>Welcome!</h1></body></html>"
}'

レスポンス

成功レスポンス (201 Created)

{
"messageId": "<[email protected]>"
}

エラーレスポンス

API キーが無効 (401)

{
"code": "unauthorized",
"message": "Invalid API key provided"
}

メールアドレスの形式が不正 (400)

{
"code": "invalid_parameter",
"message": "Invalid email format in 'to' field"
}

レート制限を超過 (429)

{
"code": "too_many_requests",
"message": "Rate limit exceeded"
}

パラメーター

必須パラメーター

パラメーター説明
senderobject送信者の情報
toarray受信者オブジェクトの配列
subjectstringメールの件名

任意パラメーター

パラメーター説明
htmlContentstringメールの HTML 本文
textContentstringメールのテキスト本文
ccarrayCC の宛先
bccarrayBCC の宛先
replyToobject返信先アドレス
attachmentsarray添付ファイル
paramsobjectテンプレートのパラメーター
tagsarrayトラッキング用のメールタグ
headersobjectカスタムヘッダー

テンプレート変数

件名や本文ではテンプレート変数を使用できます。

{
"subject": "Welcome {{firstName}}!",
"htmlContent": "<h1>Hello {{firstName}} {{lastName}}</h1>",
"params": {
"firstName": "John",
"lastName": "Doe"
}
}

添付ファイル

ファイルを添付する方法は次のとおりです。

{
"attachments": [
{
"content": "base64_encoded_content",
"name": "invoice.pdf"
},
{
"url": "https://example.com/document.pdf",
"name": "document.pdf"
}
]
}

ベストプラクティス

  1. HTML 本文とテキスト本文を必ず両方含める: 到達率が向上します
  2. テンプレート変数を使う: 本文を文字列連結で組み立てないでください
  3. 送信者情報を正しく設定する: 迷惑メールフィルターを回避できます
  4. タグを付与する: トラッキングと分析に役立ちます
  5. メールアドレスを検証する: 送信前に形式を確認してください
  6. エラーを適切に処理する: リトライ処理を組み込んでください

レート制限

  • 無料アカウント: 1 日あたり 300 通
  • 有料アカウント: ご利用のプランに応じます
  • バースト上限: 1 分あたり 100 通

トラッキング

このエンドポイントから送信したメールは、次の項目が自動的にトラッキングされます。

  • 配信ステータス
  • 開封率
  • クリックのトラッキング
  • バウンス処理

詳細な分析は、Brevo ダッシュボードの StatisticsTransactional で確認できます。

関連エンドポイント

先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

自動判定
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。