outlook.office365.comメール受信について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 outlook.office365.comメール受信について

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • 著者
    投稿
  • #5367
    fum
    一般参加者

    お世話になります。

    サンプルの「メール受信.mzax」でoutlook(Web)のメールを受信したいと
    考えております。

    試験的に私のアドレス宛のメールで受信を試みておりますが、受信ボタンを
    押下する度に、これまでの全件を取得しようとしているようで、受信完了と
    なるまでに時間がかかります。

    差分のみ受信する方法はありますでしょうか。
    これはマイクロソフト側の問題でしょうか。

    IMAPの設定であれば差分のみの受信が可能と想像しておりますが、
    その設定は可能でしょうか。
    以前に社内メールサーバー(POP)に対しては差分のみの受信が
    できていた記憶があるのですが。

    よろしくお願い致します。

    #5368
    MZPlatformユーザー会
    サイト管理者

    メール受信のサンプルでは、「一覧受信」ボタンでメールサーバから一覧を受信して、テーブル上でメールを選択して「詳細受信ボタン」を押すことでメール本文を受信します。この「詳細受信ボタン」を押したときの処理の中で、POP3メール受信の「指定したメールを取得する」の引数で、受信したメールをサーバ側から削除するかどうかを指定することができます。

    以前は、POP方式のメールソフトが多く、メールソフトがサーバ側のメールを削除しており、結果的に差分だけ取得することになっていたと思います。メール受信のサンプルは、このような動作を想定して作られています。

    一方、最近はIMAP等の方式で、サーバ側にすべてのメールが残ったままになる方が主流のようです。この場合、メール受信のサンプルでPOP方式の受信をすると、常にすべてのメールの一覧を受信することになります。また、上記のメール削除の指定をしたとして、サーバ側で実際に削除されるかどうかは環境ごとに試してみないとわかりません。削除されなければサーバ側の制約かもしれませんし、MZ側の機能改善が必要かもしれませんが、こちらで再現ができないことには対応ができません。

    サーバ側でメールを削除せずに差分だけ取得しようとすると、そのような処理を独自に作成する必要があります。その場合でも、常にサーバ側のメールの一覧を一度取得する必要がありますし、ローカルの状態と比較して選択受信する必要があるので、やはり処理に時間がかかると思います。

    #5370
    fum
    一般参加者

    ご返答ありがとうございます。

    「指定したメールを取得する」の引数で、受信したメールをサーバ側から削除
    する事を試そうと思います。
    サンプルでの「一覧受信」ボタン押下時の処理の中に組み、詳細受信ボタンを
    押さずとも削除する為には、どこに入れれば良いでしょうか?

    よろしくお願い致します。

    #5372
    MZPlatformユーザー会
    サイト管理者

    まずは詳細受信ボタンを押したときの処理の中で、実際に削除されるかどうかをご確認ください。

    一覧受信ボタンを押したときの処理の中で、すべてのメール取得と削除を実行した場合、ご自身のメールがすべて削除され復元できない可能性がありますので、ご注意ください。産総研では責任を負いかねます。

    それでもよろしければ、「メール一覧表示」のサブルーチンの中で、一覧表示を作成する繰り返し制御(FOR)を実行した後に、別の繰り返し制御(FOR)を追加してメソッドを起動し、一覧のテーブルの各行に対してPOP3メール受信の「指定したメールを取得する」を実行すれば実現できます。なお、このメソッド起動では、POP3メール受信からデータ生成イベント(1番)が発生して、メールの詳細はメール情報格納変数に入ります。このタイミングでどこかに情報を退避させておかないと、繰り返し制御(FOR)の処理の中で上書きされていって、完了したときには最後のメールの情報しか残りませんので、こちらもご注意ください。

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • このトピックに返信するには、ログインしてください。