1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINE WORKS メール送信 API を活用する方法

LINE WORKS のメール送信 API を使用して、メールを簡単に送信する方法を紹介します。このガイドでは、Google Colab 上で動作するサンプルスクリプトを使い、迅速にメール送信を試せるようにします。


概要

LINE WORKS のメール送信 API を利用することで、以下の操作が可能になります:

  • 指定した送信者からメールを送信
  • 複数の宛先に一括送信
  • HTML形式またはプレーンテキスト形式のメール送信

Google Colab を使うことで、ローカル環境を準備することなく、簡単に API を試せます。

必要な準備

1. アクセストークンの取得

Mail API では重要なユーザー情報を取り扱うため、User Account 認証で発行された Access Token でのみ呼び出すことができます。Service Account 認証 (JWT) で発行された Access Token では呼び出すことができません。

以下の記事を参考にして、User Account 認証を用いたアクセストークンを生成してください:

また、詳細なAPI仕様については公式ドキュメントを参照してください:

2. Google Colab へのアクセス

Google Colab にアクセスして、以下のサンプルコードを実行してください。

Google Colab 上で共有されたノートブックもご利用いただけます。以下のリンクから直接試すことができます:

Google Colab: LINE WORKS メール送信サンプル

サンプルコード

以下のスクリプトを Google Colab にコピー&ペーストし、実行してください。

# 必要なライブラリをインストール
!pip install requests

# ライブラリのインポート
import requests
import json

ACCESS_TOKEN = "your_access_token"  # @param {type:"string"}
USER_ID = "me"  # @param {type:"string"} "me" または LINE WORKSユーザーID
TO_EMAILS = "receiver1@example.com;receiver2@example.com"  # @param {type:"string"} セミコロン区切りで複数指定可能
SUBJECT = "Sample Email Subject"  # @param {type:"string"}
BODY = "This is the body of the email."  # @param {type:"string"}
CONTENT_TYPE = "html"  # @param {type:"string"} "html" または "text"

# API サーバー
API_SERVER = "https://www.worksapis.com"
API_ENDPOINT = f"{API_SERVER}/v1.0/users/{USER_ID}/mail"

# メール送信APIの呼び出し
def send_mail(access_token, to_emails, subject, body, content_type):
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
    }
    payload = {
        "to": to_emails,
        "subject": subject,
        "body": body,
        "contentType": content_type
    }

    response = requests.post(API_ENDPOINT, headers=headers, json=payload)

    # レスポンスに基づく出力
    if response.status_code == 200 or response.status_code == 201:
        print("✅ メールが正常に送信されました!")
        print(json.dumps(response.json(), indent=4, ensure_ascii=False))
    elif response.status_code == 202:
        print("⚠️ メール送信リクエストが受理されましたが、処理が完了していません。")
        print("レスポンスの詳細:")
        print(response.text)
    else:
        print(f"❌ メールの送信に失敗しました。ステータスコード: {response.status_code}")
        print(response.text)

# メール送信APIを実行
send_mail(
    ACCESS_TOKEN,
    TO_EMAILS,
    SUBJECT,
    BODY,
    CONTENT_TYPE
)

入力例

  • ACCESS_TOKEN: 前述の手順で生成したアクセストークン。
  • USER_ID: "me" または LINE WORKS のユーザー ID。
  • TO_EMAILS: receiver1@example.com;receiver2@example.com の形式で複数宛先を指定。
  • SUBJECT: メールの件名。
  • BODY: メールの本文。
  • CONTENT_TYPE: メール形式(html または text)。

実行結果

成功時

✅ メールが正常に送信されました!
{
    "message": "Mail sent successfully"
}

受理状態(202)

⚠️ メール送信リクエストが受理されましたが、処理が完了していません。
レスポンスの詳細:
{"code": "ACCEPTED", "description": "The request has been accepted for processing."}

失敗時(例: 400, 403)

❌ メールの送信に失敗しました。ステータスコード: 403
{"code":"ACCESS_DENIED", "description":"Access is denied for userId."}

注意事項

  1. アクセストークンのスコープ

    • アクセストークンには mail スコープが含まれている必要があります。
  2. TO アドレスの形式

    • 宛先を複数指定する場合は、セミコロン(;)で区切ります。
  3. 管理画面での確認

    • メール送信後、LINE WORKS の管理画面で送信履歴を確認することで、送信結果を追跡できます。

LINE WORKS メール送信 API を活用して、自動メール送信の効率化を目指しましょう!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?