Office.Recipients interface

アイテムの受信者を表します。 新規作成モードのみです。

メソッド

addAsync(recipients, options, callback)

予定やメッセージの既存の受信者に、受信者のリストを追加します。

addAsync(recipients, callback)

予定やメッセージの既存の受信者に、受信者のリストを追加します。

getAsync(options, callback)

予定やメッセージの受信者リストを取得します。

getAsync(callback)

予定やメッセージの受信者リストを取得します。

setAsync(recipients, options, callback)

予定やメッセージの受信者リストを設定します。

setAsync メソッドは、現在の受信者のリストを上書きします。

setAsync(recipients, callback)

予定やメッセージの受信者リストを設定します。

setAsync メソッドは、現在の受信者のリストを上書きします。

メソッドの詳細

addAsync(recipients, options, callback)

予定やメッセージの既存の受信者に、受信者のリストを追加します。

addAsync(recipients: Array<string | EmailUser | EmailAddressDetails>, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

recipients

Array<string | Office.EmailUser | Office.EmailAddressDetails>

受信者リストに追加する受信者。 受信者の配列には、SMTP メール アドレス、 EmailUser オブジェクト、または EmailAddressDetails オブジェクトの文字列を含めることができます。

options
Office.AsyncContextOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 受信者の追加に失敗すると、asyncResult.error プロパティにエラー コードが格納されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

重要:

addAsync 方法を使用すると、Outlook on the web、Windows (新機能およびクラシック)、Mac (従来の UI)、Android、および iOS で、一度に最大 100 人の受信者をメール アイテムに追加できます。 ただし、次の点に注意してください。

  • 従来の Outlook on Windows (メールボックス 1.15 以前) と Mac (従来の UI) では、1 つのターゲット フィールドに最大 500 人の受信者を含めることができます。 従来の Outlook on Windows では、メールボックス 1.16 以降をサポートするクライアントは、最大 1,000 人の受信者を持つことができます。 Outlook on the web および新しい Outlook on Windows のターゲット フィールドには、受信者の制限がありません。 100 人を超える受信者をメール アイテムに追加する必要がある場合は、 addAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Android 版および iOS 版の Outlook では、 addAsync メソッドはバージョン 4.2530.0 以降でサポートされます。 これらのモバイル クライアントでは、ユーザーがメッセージの下部にある返信フィールドから返信するときの addAsync 方式はサポートされていません。

Outlook on Mac (新しい UI) で addAsync に電話をかけた場合、受信者の制限はありません。

addAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

すべての Outlook クライアントは、正規表現ルールを使用して、受信者フィールドの電子メール アドレスを解決します。

Outlook on the web と新しい Outlook on Windows では、addAsyncsetAsync によって、解決済みと未解決の両方のメール アドレスが受信者フィールドに追加されます。 ただし、未解決のメール アドレスは、解決または正常に検証されるまでアイテムを送信できません。 スマート アラート アドインによって未解決の受信者がいずれかの受信者フィールドに追加された場合、送信操作はブロックされ、エラー通知が表示されます。 エラー通知では、未解決の受信者を追加したアドインが特定され、影響を受けるメール アドレスが一覧表示されます。 [ 送信] を選択した後にスマート アラート ダイアログが表示された場合、ダイアログを閉じた後 ([ 送信する] または [送信しない] を選択するか、ダイアログを閉じることにより) エラー通知が表示されます。

エラー:

  • NumberOfRecipientsExceeded : 受信者の数が 100 個のエントリを超えました。

// The following example creates an array of EmailUser objects
// and adds them to the To recipients of the message.
const newRecipients = [
    {
        "displayName": "Allie Bellew",
        "emailAddress": "allieb@contoso.com"
    },
    {
        "displayName": "Alex Darrow",
        "emailAddress": "alexd@contoso.com"
    }
];

Office.context.mailbox.item.to.addAsync(newRecipients, function(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Recipients added");
    }
});

addAsync(recipients, callback)

予定やメッセージの既存の受信者に、受信者のリストを追加します。

addAsync(recipients: Array<string | EmailUser | EmailAddressDetails>, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

recipients

Array<string | Office.EmailUser | Office.EmailAddressDetails>

受信者リストに追加する受信者。 受信者の配列には、SMTP メール アドレス、 EmailUser オブジェクト、または EmailAddressDetails オブジェクトの文字列を含めることができます。

callback

(asyncResult: Office.AsyncResult<void>) => void

省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 受信者の追加に失敗すると、asyncResult.error プロパティにエラー コードが格納されます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

重要:

addAsync 方法を使用すると、Outlook on the web、Windows (新機能およびクラシック)、Mac (従来の UI)、Android、および iOS で、一度に最大 100 人の受信者をメール アイテムに追加できます。 ただし、次の点に注意してください。

  • 従来の Outlook on Windows (メールボックス 1.15 以前) と Mac (従来の UI) では、1 つのターゲット フィールドに最大 500 人の受信者を含めることができます。 従来の Outlook on Windows では、メールボックス 1.16 以降をサポートするクライアントは、最大 1,000 人の受信者を持つことができます。 Outlook on the web および新しい Outlook on Windows のターゲット フィールドには、受信者の制限がありません。 100 人を超える受信者をメール アイテムに追加する必要がある場合は、 addAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Android 版および iOS 版の Outlook では、 addAsync メソッドはバージョン 4.2530.0 以降でサポートされます。 これらのモバイル クライアントでは、ユーザーがメッセージの下部にある返信フィールドから返信するときの addAsync 方式はサポートされていません。

Outlook on Mac (新しい UI) で addAsync に電話をかけた場合、受信者の制限はありません。

addAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

すべての Outlook クライアントは、正規表現ルールを使用して、受信者フィールドの電子メール アドレスを解決します。

Outlook on the web と新しい Outlook on Windows では、addAsyncsetAsync によって、解決済みと未解決の両方のメール アドレスが受信者フィールドに追加されます。 ただし、未解決のメール アドレスは、解決または正常に検証されるまでアイテムを送信できません。 スマート アラート アドインによって未解決の受信者がいずれかの受信者フィールドに追加された場合、送信操作はブロックされ、エラー通知が表示されます。 エラー通知では、未解決の受信者を追加したアドインが特定され、影響を受けるメール アドレスが一覧表示されます。 [ 送信] を選択した後にスマート アラート ダイアログが表示された場合、ダイアログを閉じた後 ([ 送信する] または [送信しない] を選択するか、ダイアログを閉じることにより) エラー通知が表示されます。

エラー:

  • NumberOfRecipientsExceeded : 受信者の数が 100 個のエントリを超えました。

getAsync(options, callback)

予定やメッセージの受信者リストを取得します。

getAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<EmailAddressDetails[]>) => void): void;

パラメーター

options
Office.AsyncContextOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。

callback

(asyncResult: Office.AsyncResult<Office.EmailAddressDetails[]>) => void

メソッドが完了すると、callback パラメーターで渡された関数は、型 Office.AsyncResult の 1 つのパラメーター asyncResult で呼び出されます。 結果の asyncResult.value プロパティは、 EmailAddressDetails オブジェクトの配列です。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Compose

重要:

このメソッドによって返される受信者の最大数は、Outlook クライアントごとに異なります。

  • Windows (クラシック - メールボックス 1.15 以前)、Mac (クラシック UI): 500 人の受信者

  • Web、Windows (新規クラシック - メールボックス 1.16 以降): 1,000 人の受信者

  • Android、iOS: 100 人の受信者

  • Mac (新しい UI): 制限なし

従来の Outlook on Windows では、新しい予定を作成するか、既存の予定を編集するときに、 getAsync メソッドによって返されるオブジェクトに予定オーガナイザーが含まれます。 Outlook on the web と新しい Outlook on Windows では、既存の予定を編集するときにのみ、開催者は返されるオブジェクトに含まれます。

getAsync メソッドは、Outlook クライアントによって解決された受信者のみを返します。 解決済みの受信者には、次の特徴があります。

  • 受信者のアドレス帳にエントリが保存されている場合、Outlook は電子メール アドレスを受信者の保存された表示名に解決します。

  • Teams 会議ステータス アイコンは、受信者の名前またはメール アドレスの前に表示されます。

  • 受信者の名前またはメール アドレスの後にセミコロンが表示されます。

  • 受信者の名前またはメール アドレスは、下線付きまたはボックスに囲まれています。

メール アイテムに追加されたメール アドレスを解決するには、送信者は Tab キーを使用するか、オートコンプリート リストから連絡先候補またはメール アドレスを選択する必要があります。

Outlook on the web および Windows (新しいおよびクラシック) では、ユーザーが連絡先またはプロファイル カードから連絡先の電子メール アドレス リンクをアクティブ化して新しいメッセージを作成すると、アドインのRecipients.getAsync呼び出しによって、連絡先の保存された名前ではなく、関連付けられた EmailAddressDetails オブジェクトの displayName プロパティにある連絡先の電子メール アドレスが返されます。 詳細については、 関連する GitHub の問題 を参照してください。

メール アイテムの作成中に、以前に選択した差出人アカウントとは異なるドメインの差出人アカウントに切り替えると、既存の受信者の recipientType プロパティの値は更新されず、以前に選択したアカウントのドメインに基づきます。 アカウントの切り替え後に正しい受信者の種類を取得するには、まず既存の受信者を削除してから、メール アイテムに追加し直す必要があります。

Android 版および iOS 版の Outlook では、ユーザーがメッセージの下部にある返信フィールドから返信するときに、 getAsync メソッドのみがサポートされます。

getAsync(callback)

予定やメッセージの受信者リストを取得します。

getAsync(callback: (asyncResult: Office.AsyncResult<EmailAddressDetails[]>) => void): void;

パラメーター

callback

(asyncResult: Office.AsyncResult<Office.EmailAddressDetails[]>) => void

メソッドが完了すると、callback パラメーターで渡された関数は、型 Office.AsyncResult の 1 つのパラメーター asyncResult で呼び出されます。 結果の asyncResult.value プロパティは、 EmailAddressDetails オブジェクトの配列です。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り

適用可能な Outlook モード: Compose

重要:

このメソッドによって返される受信者の最大数は、Outlook クライアントごとに異なります。

  • Windows (クラシック - メールボックス 1.15 以前)、Mac (クラシック UI): 500 人の受信者

  • Web、Windows (新規クラシック - メールボックス 1.16 以降): 1,000 人の受信者

  • Android、iOS: 100 人の受信者

  • Mac (新しい UI): 制限なし

getAsync メソッドは、Outlook クライアントによって解決された受信者のみを返します。 解決済みの受信者には、次の特徴があります。

  • 受信者のアドレス帳にエントリが保存されている場合、Outlook は電子メール アドレスを受信者の保存された表示名に解決します。

  • Teams 会議ステータス アイコンは、受信者の名前またはメール アドレスの前に表示されます。

  • 受信者の名前またはメール アドレスの後にセミコロンが表示されます。

  • 受信者の名前またはメール アドレスは、下線付きまたはボックスに囲まれています。

メール アイテムに追加されたメール アドレスを解決するには、送信者は Tab キーを使用するか、オートコンプリート リストから連絡先候補またはメール アドレスを選択する必要があります。

Outlook on the web および Windows (新しいおよびクラシック) では、ユーザーが連絡先またはプロファイル カードから連絡先の電子メール アドレス リンクをアクティブ化して新しいメッセージを作成すると、アドインのRecipients.getAsync呼び出しによって、連絡先の保存された名前ではなく、関連付けられた EmailAddressDetails オブジェクトの displayName プロパティにある連絡先の電子メール アドレスが返されます。 詳細については、 関連する GitHub の問題 を参照してください。

メール アイテムの作成中に、以前に選択した差出人アカウントとは異なるドメインの差出人アカウントに切り替えると、既存の受信者の recipientType プロパティの値は更新されず、以前に選択したアカウントのドメインに基づきます。 アカウントの切り替え後に正しい受信者の種類を取得するには、まず既存の受信者を削除してから、メール アイテムに追加し直す必要があります。

Android 版および iOS 版の Outlook では、ユーザーがメッセージの下部にある返信フィールドから返信するときに、 getAsync メソッドのみがサポートされます。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml

Office.context.mailbox.item.bcc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgBcc = asyncResult.value;
    console.log("Message being blind-copied to:");
    for (let i = 0; i < msgBcc.length; i++) {
      console.log(msgBcc[i].displayName + " (" + msgBcc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

Office.context.mailbox.item.cc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgCc = asyncResult.value;
    console.log("Message being copied to:");
    for (let i = 0; i < msgCc.length; i++) {
      console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

Office.context.mailbox.item.optionalAttendees.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const apptOptionalAttendees = asyncResult.value;
    for (let i = 0; i < apptOptionalAttendees.length; i++) {
      console.log(
        "Optional attendees: " +
          apptOptionalAttendees[i].displayName +
          " (" +
          apptOptionalAttendees[i].emailAddress +
          ") - response: " +
          apptOptionalAttendees[i].appointmentResponse
      );
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

Office.context.mailbox.item.requiredAttendees.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const apptRequiredAttendees = asyncResult.value;
    for (let i = 0; i < apptRequiredAttendees.length; i++) {
      console.log(
        "Required attendees: " +
          apptRequiredAttendees[i].displayName +
          " (" +
          apptRequiredAttendees[i].emailAddress +
          ") - response: " +
          apptRequiredAttendees[i].appointmentResponse
      );
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

Office.context.mailbox.item.to.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgTo = asyncResult.value;
    console.log("Message being sent to:");
    for (let i = 0; i < msgTo.length; i++) {
      console.log(msgTo[i].displayName + " (" + msgTo[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

setAsync(recipients, options, callback)

予定やメッセージの受信者リストを設定します。

setAsync メソッドは、現在の受信者のリストを上書きします。

setAsync(recipients: Array<string | EmailUser | EmailAddressDetails>, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

recipients

Array<string | Office.EmailUser | Office.EmailAddressDetails>

受信者リストに追加する受信者。 受信者の配列には、SMTP メール アドレス、 EmailUser オブジェクト、または EmailAddressDetails オブジェクトの文字列を含めることができます。

options
Office.AsyncContextOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。

callback

(asyncResult: Office.AsyncResult<void>) => void

メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 受信者の設定に失敗した場合、asyncResult.error プロパティには、データの追加時に発生したエラーを示すコードが含まれます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

重要:

setAsync 方式では、Outlook on the web、Windows (新規およびクラシック)、Mac (従来の UI)、Android、iOS で一度に最大 100 人の受信者を設定できます。 ただし、次の点に注意してください。

  • 従来の Outlook on Windows (メールボックス 1.15 以前) と Mac (従来の UI) では、1 つのターゲット フィールドに最大 500 人の受信者を含めることができます。 従来の Outlook on Windows では、メールボックス 1.16 以降をサポートするクライアントは、最大 1,000 人の受信者を持つことができます。 Outlook on the web および新しい Outlook on Windows のターゲット フィールドには、受信者の制限がありません。 100 人を超える受信者をメール アイテムに追加する必要がある場合は、 addAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Android 版および iOS 版の Outlook では、 setAsync メソッドはバージョン 4.2530.0 以降でサポートされます。 これらのモバイル クライアントでは、ユーザーがメッセージの下部にある返信フィールドから返信するときの setAsync 方式はサポートされていません。

Outlook on Mac (新しい UI) で setAsync に電話をかけた場合、受信者の制限はありません。

setAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

すべての Outlook クライアントは、正規表現ルールを使用して、受信者フィールドの電子メール アドレスを解決します。

Outlook on the web と新しい Outlook on Windows では、addAsyncsetAsync によって、解決済みと未解決の両方のメール アドレスが受信者フィールドに追加されます。 ただし、未解決のメール アドレスは、解決または正常に検証されるまでアイテムを送信できません。 スマート アラート アドインによって未解決の受信者がいずれかの受信者フィールドに追加された場合、送信操作はブロックされ、エラー通知が表示されます。 エラー通知では、未解決の受信者を追加したアドインが特定され、影響を受けるメール アドレスが一覧表示されます。 [ 送信] を選択した後にスマート アラート ダイアログが表示された場合、ダイアログを閉じた後 ([ 送信する] または [送信しない] を選択するか、ダイアログを閉じることにより) エラー通知が表示されます。

エラー:

  • NumberOfRecipientsExceeded : 受信者の数が 100 個のエントリを超えました。

setAsync(recipients, callback)

予定やメッセージの受信者リストを設定します。

setAsync メソッドは、現在の受信者のリストを上書きします。

setAsync(recipients: Array<string | EmailUser | EmailAddressDetails>, callback: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

recipients

Array<string | Office.EmailUser | Office.EmailAddressDetails>

受信者リストに追加する受信者。 受信者の配列には、SMTP メール アドレス、 EmailUser オブジェクト、または EmailAddressDetails オブジェクトの文字列を含めることができます。

callback

(asyncResult: Office.AsyncResult<void>) => void

メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 受信者の設定に失敗した場合、asyncResult.error プロパティには、データの追加時に発生したエラーを示すコードが含まれます。

返品

void

注釈

API セット: メールボックス 1.1

最小アクセス許可レベル: 項目の読み取り/書き込み

適用可能な Outlook モード: Compose

重要:

setAsync 方式では、Outlook on the web、Windows (新規およびクラシック)、Mac (従来の UI)、Android、iOS で一度に最大 100 人の受信者を設定できます。 ただし、次の点に注意してください。

  • 従来の Outlook on Windows (メールボックス 1.15 以前) と Mac (従来の UI) では、1 つのターゲット フィールドに最大 500 人の受信者を含めることができます。 従来の Outlook on Windows では、メールボックス 1.16 以降をサポートするクライアントは、最大 1,000 人の受信者を持つことができます。 Outlook on the web および新しい Outlook on Windows のターゲット フィールドには、受信者の制限がありません。 100 人を超える受信者をメール アイテムに追加する必要がある場合は、 addAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Android 版および iOS 版の Outlook では、 setAsync メソッドはバージョン 4.2530.0 以降でサポートされます。 これらのモバイル クライアントでは、ユーザーがメッセージの下部にある返信フィールドから返信するときの setAsync 方式はサポートされていません。

Outlook on Mac (新しい UI) で setAsync に電話をかけた場合、受信者の制限はありません。

setAsync メソッドは、現在 loadItemByIdAsync メソッドを使用して読み込まれているメッセージではサポートされていません。 詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。

すべての Outlook クライアントは、正規表現ルールを使用して、受信者フィールドの電子メール アドレスを解決します。

Outlook on the web と新しい Outlook on Windows では、addAsyncsetAsync によって、解決済みと未解決の両方のメール アドレスが受信者フィールドに追加されます。 ただし、未解決のメール アドレスは、解決または正常に検証されるまでアイテムを送信できません。 スマート アラート アドインによって未解決の受信者がいずれかの受信者フィールドに追加された場合、送信操作はブロックされ、エラー通知が表示されます。 エラー通知では、未解決の受信者を追加したアドインが特定され、影響を受けるメール アドレスが一覧表示されます。 [ 送信] を選択した後にスマート アラート ダイアログが表示された場合、ダイアログを閉じた後 ([ 送信する] または [送信しない] を選択するか、ダイアログを閉じることにより) エラー通知が表示されます。

エラー:

  • NumberOfRecipientsExceeded : 受信者の数が 100 個のエントリを超えました。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml

const email = (document.getElementById("emailBcc") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.bcc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Bcc field.");
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailCc") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.cc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Cc field.");
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailOptional") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.optionalAttendees.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting optional attendees field.");
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailRequired") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.requiredAttendees.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting required attendees field.");
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = (document.getElementById("emailTo") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.to.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting To field.");
  } else {
    console.error(asyncResult.error);
  }
});