PPPAP
@PPPAP

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

受信したOffice365メールをPowerAppsで第三者に転送するアプリを作りたい

Q&A

Closed

私は現在ある件名のメールが自分宛に届いた場合
そのメールを本文を付け足して転送するメールアプリ
を作っているのですが

受信したメールを本文に載せる方法がわかりません。

アプリ画面としては宛先、件名、本文のテキストボックスは完成しており
送信ボタンも完成しているのですが
わからないのはどうやってとある件名のメールだけを取得し
その中の一つをメール本文に書いて転送させるかです
(Outlookで届いたメールを他の人に転送する機能のを
アプリとして実装したいです。)
PowerAutomateにもメール転送アクションはありますが
あくまで送信したメールを特定のアドレスにも転送する形式で
私の思う形とは違いました(最初のメールを受け取った人が
そのメールをまた違う人に拡散するイメージです。)
ボタンを押して
ClearCollect(
EmailCollection,
Office365Outlook.GetEmailsV3({subjectFilter:"○○"}).value
);
のコードで取得
ドロップダウンのItemsにEmailCollectionを書いて選んだメールをテキストボックスに
反映するプログラムを想定していますがエラーは発生していないにも関わらずテストだと
ドロップダウンにメールが表示されないので困っています。
ラベルで確認したので恐らくsubjectFilterで○○の部分一致(○○が件名に含まれるメールの抽出)
がうまくいってないからだと思われますがどうすればメールを転送できるでしょうか

0

4Answer

皆様のおかげでアプリが完成しました!
本当にありがとうございます!

1Like

アプリのスクショやアクション内容のスクショとか貼れませんか。
文章から今ひとつ問題/事象が理解できません。

0Like

画像.png
PowerAppsの「新しい画面」の電子メールを選んで作っています
私はMessageの部分にoutlookで受信したメールの情報を載せたいです
イメージとしてはボタンを押すと特定の名称が件名に含まれるメールをフィルター化してドロップダウンに追加
ドロップダウンから転送したいメールを選ぶとMessageに選んだメールが表示される感じです。
(右上の⇒はメールの送信ボタンでそのまま使えます。0と書かれてるのはテスト用のラベルでドロップダウンで取得した値のカウントが表示される予定です。)

0Like

Comments

  1. @PPPAP

    Questioner

    つまりoutlookのメールに返信するアプリを作りたいんです

    • ドロップダウン に 件名 を表示するには、以下を設定します。
        Items に EmailCollection
        Value に Subject

    • Message に メール本文 を表示するには、以下を設定します。
        Default に Dropdown1.SelectedText.body

    もし、ドロップダウンに何も表示しない場合は、一旦 フィルタを外してみてください。

    ClearCollect(
    EmailCollection,
    Office365Outlook.GetEmailsV3().value
    );
    

    恐らくsubjectFilterで○○の部分一致(○○が件名に含まれるメールの抽出)
    がうまくいってない

    自分の環境だと、Office365Outlook.GetEmailsV3({subjectFilter:"○○"}).valueでちゃんとフィルタできています。

  2. @PPPAP

    Questioner

    スクリーンショット 2024-10-24 101634.png
    フィルターを外してやってみたのですが以前同様何も取得されてない状態です
    エラーは出てませんしちゃんとoutlookもデータ追加してるんですけど
    何故反応が変わらないのでしょうか

  3. 未読メールがあっても表示されませんか?
    デフォルトでは既読メールは表示されないようです。

ドロップダウンリストの設定
ItemsにEmailCollection
ValueにSubjectで、読み込めないでしょうか?
Valueはドロップダウンに表示するフィールドです。

0Like

Comments

  1. ClearCollect(
    EmailCollection,
    Office365Outlook.GetEmailsV3({
    top: 5, // 新着5件のメールを取得
    fetchOnlyUnread: false // 既読・未読を問わず取得
    }).value
    );

    一旦、5件読み込めるかお試しください
    ここが読み込めないならここの問題を解決するのが先かなと思いました

  2. @PPPAP

    Questioner

    @aoi2021 さんを参考にしてfetchOnlyUnread: falseを追加したらメールを取得できました
    ただボタンとドロップダウンの問題は解決したんですけど本文がhtmlまで表示され
    すごい状態になりました
    outlookでメールを転送した時のように
    差出人:
    送信日時:
    宛先:
    CC:
    件名:
    本文:
    といった内容にするにはどうすればよいでしょうか

  3. @PPPAP

    Questioner

    自己解決はしました
    Dropdown1.SelectedText.bodyPreviewを使うことでメール本文を出力することができました
    これで私の理想にはだいぶ近づきました
    ただひとつ前の転送メール(返信メールを取得した場合、返信先である元々のメールを取得できない)など課題はありますので随時アドバイスをお願いします

  4. @PPPAP

    Questioner

    後は複数行でも転送メールが長いと途中で区切れてしまいます

Your answer might help someone💌