次の方法で共有


Office.Recipients interface

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

注釈

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

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

適用される Outlook モード: Compose

メソッド

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 the web、Windows (新規およびクラシック) と Mac (クラシック UI) では、ターゲット フィールドに最大 500 人の受信者を設定できます。 メール アイテムに 100 人以上の受信者を追加する必要がある場合は、 addAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Outlook on Android および iOS では、addAsync メソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。

Outlook on Mac (新しい UI) で addAsync を呼び出す場合、受信者の制限はありません。

エラー:

  • 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 the web、Windows (新規およびクラシック) と Mac (クラシック UI) では、ターゲット フィールドに最大 500 人の受信者を設定できます。 メール アイテムに 100 人以上の受信者を追加する必要がある場合は、 addAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Outlook on Android および iOS では、addAsync メソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。

Outlook on Mac (新しい UI) で addAsync を呼び出す場合、受信者の制限はありません。

エラー:

  • 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 (新規 およびクラシック)、Web ブラウザー、Mac (クラシック UI): 500 受信者

  • Android、iOS: 100 受信者

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

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

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

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

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

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

メール アドレスがメール アイテムに追加されたら解決するには、送信者が Tab キーを使用するか、自動入力リストから推奨される連絡先またはメール アドレスを選択する必要があります。

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

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

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 (新規 およびクラシック)、Web ブラウザー、Mac (クラシック UI): 500 受信者

  • Android、iOS: 100 受信者

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

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

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

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

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

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

メール アドレスがメール アイテムに追加されたら解決するには、送信者が Tab キーを使用するか、自動入力リストから推奨される連絡先またはメール アドレスを選択する必要があります。

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

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

// 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 the web、Windows (新規およびクラシック) と Mac (クラシック UI) では、ターゲット フィールドに最大 500 人の受信者を設定できます。 100 人以上の受信者を設定する必要がある場合は、 setAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Outlook on Android および iOS では、setAsync メソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。

Outlook on Mac (新しい UI) で setAsync を呼び出す場合、受信者の制限はありません。

エラー:

  • 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 the web、Windows (新規およびクラシック) と Mac (クラシック UI) では、ターゲット フィールドに最大 500 人の受信者を設定できます。 100 人以上の受信者を設定する必要がある場合は、 setAsync を繰り返し呼び出すことができますが、フィールドの受信者の制限に注意してください。

  • Outlook on Android および iOS では、setAsync メソッドはメッセージ Compose モードではサポートされていません。 予定オーガナイザー モードのみがサポートされています。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。

Outlook on Mac (新しい UI) で setAsync を呼び出す場合、受信者の制限はありません。

エラー:

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

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

Office.context.mailbox.item.cc.setAsync(newRecipients, function(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Recipients overwritten");
    }
});
// 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 = $("#emailBcc")
  .val()
  .toString();
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 = $("#emailCc")
  .val()
  .toString();
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 = $("#emailOptional")
  .val()
  .toString();
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 = $("#emailRequired")
  .val()
  .toString();
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 = $("#emailTo")
  .val()
  .toString();
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);
  }
});