製品コラム
セイテクエンジニアのブログ 製品コラム What’s new in Job Director R17: Microsoft 365に対応したメール送信部品、設定方法解説
2025年12月17日配信
執筆者:セイ・テクノロジーズ エバンジェリスト
2025年11月28日にリリースされた高機能ジョブスケジューラーの最新バージョン「Job Director R17」(以下、JDR17)では、従来バージョンをご利用のお客様からの要望を反映した機能強化が行われています。その1つが、拡張カスタムジョブ部品「メール送信部品」のMicrosoft 365(Exchange Online) OAuth 2.0認証への対応です。
Job Director R17 バージョンアップ情報|SAY Technologie
これまでのバージョン(R16以前)のメール送信部品は、SMTP AUTHのBasic認証(ユーザー名とパスワードによる基本認証)とSMTPS(SMTP over SSL/TLS)による通信の暗号化に対応していましたが、STARTTLSによる暗号化を要求するMicrosoft 365(Exchange Online)経由でメール送信することはできませんでした。また、MicrosoftはSMTP AUTH(Basic認証)のサポートを2026年3月1日から段階的に廃止し、2026年4月30日までに完全に削除する予定です。*1 Microsoft 365では現在、OAuth認証(モダン認証)に基づいたSMTP AUTHまたはMicrosoft Graph APIの使用を推奨しています。
*1 SMTP AUTHの廃止と言われることもありますが、SMTP AUTH全体ではなく、Basic認証のみの廃止です。SMTP AUTH には Basic 認証(AUTH LOGIN)と OAuth 認証(AUTH XOAUTH2)があり、現場では前者を「SMTP AUTH」、後者を「OAuth」と区別して呼ぶ場合がありますが、技術的にはどちらも SMTP AUTH です。Microsoft Graph APIはOAuth 2.0またはOpenID Connectを標準的に利用するREST APIです。参考: Exchange Online to retire Basic auth for Client Submission (SMTP AUTH)|Exchange Team Blog(Tech Community)
JDR17のメール送信部品は、待望のMicrosoft 365経由のメール送信に対応しました。具体的には、OAuth2.0対応のモダン認証およびSTARTTLSのサポートが追加されています(画面1)。

画面1 Microsoft 365に対応したJDR17メール送信部品
表1に、メール送信部品の「カスタムパラメーター設定」タブの設定項目を示します。表1の※が付いた項目は、Microsoft 365 OAuth 2.0メール送信のために最小限必要な設定になります。
表1 JDR17のメール送信部品のカスタムパラメーター設定
| 変数 | 値 |
| file_include | 詳細については『拡張カスタムジョブ部品利用の手引き』を参照してください。 |
| mail_bcc | BCCを指定する場合はそのメールアドレス。複数の場合はセミコロン(;)またはカンマ(,)区切り |
| mail_cc | CCを指定する場合はそのメールアドレス。複数の場合はセミコロン(;)またはカンマ(,)区切り |
| mail_from※ | 有効なメールボックスのあるMicrosoft 365のメールアドレス ① |
| mail_passwd | 空欄 |
| mail_port※ | 587 |
| mail_server※ | smtp.office365.com |
| mail_subject※ | メールの件名 |
| mail_to※ | メールの宛先メールアドレス |
| mail_user※ | 有効なメールボックスのあるMicrosoft 365のメールアドレス ① (mail_fromと同一) |
| oauth_consumer_key※ | アプリのクライアントID ② |
| oauth_consumer_secret※ | アプリのクライアントシークレットの値 ③ |
| oauth_scope※ | https://outlook.office365.com/.default |
| oauth_token_endpoint※ | https://login.microsoftonline.com/テナントID ④/oauth2/v2.0/token |
| ssl_enable | 空欄 |
| starttls_enable※ | true |
| tls_version | 空欄 |
| transfer_encoding | 空欄または8bitまたはbase64(空欄または8bitの場合、UTF-8エンコード) |
Microsoft 365経由でメール送信を行うには、送信元メールアドレス(表1の①)が有効なメールボックスを持っている必要があります。新規にメールボックスを用意する場合は、Microsoft 365管理センター(https://admin.cloud.microsoft/)にテナント(グローバル)管理者としてサインインし、「ユーザー」から「ユーザーの追加」をクリックして、Microsoft 356の製品ライセンスと役割「ユーザー: 管理アクセス許可なし)」を割り当てたユーザーを作成します。また、作成したユーザーでOutlook on the Web(https://outlook.office.com/)にサインインし、対要素認証(MFA)をセットアップして、メールボックスを準備します(すべてのアクティブなユーザーにはMFAが必須です)。
次に「ユーザー|アクティブなユーザー」一覧からユーザーのプロパティページを開き、「メール」タブにある「メールアプリを管理する」をクリックして、「認証済みSMTP」をオン(既定はオフ《無効》)にして、変更を保存します(画面2)。既存のユーザーや共有メールボックスを使用する場合は、この設定を追加で行ってください。なお、同様の設定はテナント単位(Exchange管理センター|設定|メールフロー|組織でSMTP AUTHプロトコルを無効にする)で有効化(既定はオン《無効》)することもできますが、メールボックス単位で有効化することをお勧めします。

画面2 Microsoft 365管理センターでユーザーを作成するか、既存のユーザーのプロパティを開き、ユーザーのメールボックスで「認証済みSMTP」を有効にしておく
OAuth 2.0を使用するためには、Microsoft Entra IDプラットフォームにアプリケーション(アプリ)を登録し、そのアプリに適切なAPIアクセス許可を付与があります。
Microsoft Entra管理センター(https://entra.microsoft.com/)にテナント(グローバル)管理者としてサインインし、「アプリの登録」ページを開きます。「+新規登録」をクリックして「アプリケーションの登録」ページで分かりやすい表示名を設定し、アカウントの種類「この組織ディレクトリのみに含まれるアカウント」を選択して、「登録」をクリックします(画面3)。

画面3 Microsoft Entra IDにアプリを登録する
アプリを登録したら、そのアプリの「概要」ページを開き、「アプリケーション(クライアント)ID」と「ディレクトリ(テナント)ID」の値をクリップボードにコピーし、メモ帳などに貼り付けて控えておきます(画面4)。これらの値が、表1のそれぞれ②と④になります。

画面4 登録したアプリの「アプリケーション(クライアント)ID」と「ディレクトリ(テナント)ID」の値を控えておく
次に、登録したアプリの「証明書とシークレット」のページを開き、「+新しいクライアントシークレット」をクリックして、分かりやすい名称と有効期限(既定は180日《6か月》)を指定してシークレットを追加します。シークレットを追加したら、そのシークレットの値をクリップボードにコピーし、控えておきます(画面5)。この値が表1の③になります。このページを閉じると、値をコピーできなくなるので注意してください(シークレットの再作成が必要になります)。

画面5 アプリにクライアントシークレットを追加し、その値を控えておく
次に、登録したアプリの「APIのアクセス許可」のページを開き、「+アクセス許可の追加」をクリックします。「APIアクセス許可の要求」ページが開くので、「所属する組織で使用しているAPI」タブに切り替え、API名として「Office 365 Exchange Online」と入力して検索し、APIを選択したら、「アプリケーションの許可」をクリックし、「SMTP.SendAsApp」を検索して選択し、「アクセス許可の追加」をクリックします(画面6)。

画面6 「Office 365 Exchange Online」APIの「SMTP.SendAsApp」のアクセス許可を追加する
「SMTP.SendAsApp」は、管理者の同意が必要なアクセス許可です。そのため、「APIのアクセス許可」ページの戻ったら、「レ <テナント名>に管理者の同意を与えます」をクリックし、管理者の同意を付与します(画面7)。同意を付与すると、「SMTP.SendAsApp」の「状態列」に「<テナント名>に付与されました」と表示されます。

画面7 管理者の同意が必要なアクセス許可に、管理者の同意を付与する
テナント管理者によるMicrosoft Entraアプリへの同意の付与したら、Exchange Onlineにアプリのサービスプリンシパルを登録し、メールボックス(①)へのアクセス許可を付与する必要もあります。この作業はPowerShellを使用して行うのですが、その前に、PowerShellのコマンドラインで指定する必要があるアプリのオブジェクトID(⑤)を確認しておきます。アプリのオブジェクトIDは、Microsoft Entra管理センターの「エンタープライズアプリ」からアプリのプロパティページを開くと、クリップボードにコピーできます(画面8)。なお、「アプリの登録」ページのアプリのプロパティにもオブジェクトIDが存在しますが、これらのオブジェクトIDは一致しません。必ず、「エンタープライズアプリ」のページで確認したオブジェクトIDを使用してください。

画面8 登録したアプリのオブジェクトIDを「エンタープライズアプリ」のページで控えておく
Windows PowerShell(powershell.exe)またはPowerShell(pwsh.exe)を開き、次のコマンドラインを実行します(画面9)。
| $TenantID = "テナントID ④" $ClientAppId = "アプリのクライアントID ②" $ClientObjId = "アプリのオブジェクトID ⑤" $ClientSecret = "アプリのクライアントシークレットの値 ③" $mailaddr = "送信元メールボックスのメールアドレス ①" Install-Module ExchangeOnlineManagement -Scope CurrentUser Import-Module ExchangeOnlineManagement Connect-ExchangeOnline -Organization $TenantId # テナント管理者でサインインしてください New-ServicePrincipal -AppId $ClientAppId -ObjectId $ClientObjId Add-MailboxPermission -Identity $mailaddr -User $ClientAppId -AccessRights FullAccess |

画面9 Exchange Onlineにアプリのサービスプリンシパルを登録し、送信元メールボックスへのアクセス許可を付与する
以上の設定を終えたら、JDR17のメール送信部品の「カスタムパラメーター設定」タブを設定します(前出の画面1)。これで、メール送信部品からのMicrosoft 365経由でのメール送信が可能になります(画面10)。

画面10 メール送信部品を使用したMicrosoft 365メール送信ジョブの成功
参考:
OAuth を使用して IMAP、POP、SMTP 接続を認証する|Office アドイン(Microsoft Learn)