MENU

Graph API をつかってメールを送信する

Microsoft Graph SDK を使用してメールを送信する PowerShell スクリプトを実装します。

目次

事前準備

1.Azure AD アプリケーションの登録

  • Azure ポータル にアクセスし、アプリケーションを登録します。
  • API パーミッションで Mail.Send パーミッションを付与し、管理者の同意を得ます。
  • クライアントIDとクライアントシークレットを取得します。

2.Microsoft Graph SDK のインストール

Install-Module Microsoft.Graph -Scope CurrentUser

スクリプト

以下のスクリプトは、Microsoft Graph SDK を使用してメールを送信する例です。

# 必要なモジュールをインポート
Import-Module Microsoft.Graph

# Azure AD アプリケーションのクレデンシャルを設定
$tenantId = "your-tenant-id"
$clientId = "your-client-id"
$clientSecret = "your-client-secret"

# トークン取得のための認証
$tokenResponse = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" -ContentType "application/x-www-form-urlencoded" -Body @{
    client_id     = $clientId
    scope         = "https://graph.microsoft.com/.default"
    client_secret = $clientSecret
    grant_type    = "client_credentials"
}
$accessToken = $tokenResponse.access_token

# トークンを設定
Select-MgProfile -Name "v1.0"
Connect-MgGraph -AccessToken $accessToken

# メールの送信
$recipientEmail = "recipient@example.com"
$senderEmail = "sender@example.com"  # 送信者のメールアドレス
$subject = "Test Email"
$bodyContent = "This is a test email sent using Microsoft Graph API."

# メールメッセージの構築
$message = @{
    message = @{
        subject = $subject
        body = @{
            contentType = "Text"
            content = $bodyContent
        }
        toRecipients = @(
            @{
                emailAddress = @{
                    address = $recipientEmail
                }
            }
        )
    }
}

# メールの送信
Send-MgUserMail -UserId $senderEmail -BodyParameter $message -SaveToSentItems

スクリプト説明

1.認証情報の設定

  • $tenantId, $clientId, $clientSecret に自分の Azure AD アプリケーションの情報を設定します。

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

  • Invoke-RestMethod を使って Azure AD からアクセストークンを取得します。

3.Microsoft Graph に接続

  • Connect-MgGraph コマンドレットを使用して、取得したアクセストークンを使って Microsoft Graph に接続します。

4.メールメッセージの構築

  • メールの受信者、送信者、件名、本文を設定します。

5.メールの送信

  • Send-MgUserMail コマンドレットを使用して、Microsoft Graph API 経由でメールを送信します。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!

    コメント

    コメントする

    CAPTCHA


    目次