コボットPortal

IMAPメールを別のフォルダに移動(旧:IMAPメールメッセージを別のフォルダに移動)

「IMAPメールを別のフォルダに移動」アクティビティのご紹介をします。

1.アクティビティのプログラム名

RCA.Activities.Mail.MoveIMAPMailMessageToFolder

2.説明

Studio バージョン 2.0.2.0まで

  クイックアクセス: 「ツールボックス」 > 「メール」 > 「IMAPメールメッセージを別のフォルダに移動」

Studio バージョン 2.0.3.0から

  クイックアクセス: 「ツールボックス」 > 「メール」 > 「IMAP」 > 「IMAPメールを別のフォルダに移動」

メールを別のフォルダに移動することができます。

※動作を確認したコボットStudioのバージョン:2.1.1.2
※バージョンによって文言などが一部異なる場合がございます


3.プロパティ

プロパティ項目プロパティ名入力欄説明
オプションセキュア接続ドロップダウン選択SSL/TLSの暗号化を使用する場合に指定する。選択肢は「None」「Auto」「SslOnConect」「StartTls」「StartTlsWhenAvailable」の5つ。
その他パブリックチェック項目ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。(詳細は「プロパティ項目「パブリック」について」を参照)
表示名任意の文字列デザイナーパネルのアクティビティ名に反映される。
ホストSSLを有効にするチェック項目SSLを有効にする場合にチェックを入れる。
サーバ値を入力(String型)操作を行うメールサーバーのホストを設定する。
ポート値を入力(Int32型)操作を行うメールサーバーのポート番号を設定する。
ログオンパスワード値を入力(String型)アカウントのパスワードを設定する。
メールアカウント値を入力(String型)操作を行うアカウントを設定する。
移動先メールフォルダ値を入力(String型)メールの移動先フォルダを設定する。
入力メール値を入力(MailMessage型)移動対象のメールを設定する。
元フォルダ値を入力(String型)移動対象のメールがあるフォルダを設定する。



4.使い方

「IMAPメールを別のフォルダに移動」アクティビティの実際の使用例を元に説明します。

【例】Inbox内にあるフォルダ「Test1」にあるメール1件を同じくInbox内にあるフォルダ「Test2」に移動させる。

セキュリティの観点から一部アクティビティに設定する値をあらかじめ以下のように変数を作成して設定しておきます。変数の作成方法につきましては「変数の作成」をご参照ください。

  • 「ホスト > サーバ」:String型変数 Server
  • 「ホスト > ポート」:Int32型変数 Port
  • 「ログオン > パスワード」:String型変数 Password
  • 「ログオン > メールアカウント」:String型変数 Account

1.移動元フォルダ「Test1」の移動前のメールの件数を取得する。

「メール」 > 「IMAP」 > 「IMAPメールを取得」アクティビティをドラッグ&ドロップでデザイナーパネルに配置し、サーバーへの接続設定を行います。以下のプロパティをご自身の環境に合わせて設定してください。

  • 「オプション > セキュア接続」
  • 「ホスト > サーバ」
  • 「ホスト > ポート」
  • 「ホスト > メールフォルダ」
  • 「ログオン > パスワード」
  • 「ログオン > メールアカウント」

※以下の画像は設定例になります。

参考に今回の設定例を以下に記載します。

  • 「オプション > セキュア接続」:Auto
  • 「ホスト > サーバ」:Server
  • 「ホスト > ポート」:Port
  • 「ホスト > メールフォルダ」:"Inbox/Test1"
  • 「ログオン > パスワード」:Password
  • 「ログオン > メールアカウント」:Account

次にサーバー接続情報以外のプロパティについても設定を行います。「オプション > 未読メッセージのみ」プロパティと「出力 > メッセージ」プロパティをそれぞれ以下のように設定します。

  • 未読メッセージのみ:チェックを外す
  • メッセージ:List<MailMessage>型変数「Test1_BeforeMove」

2.移動先フォルダ「Test2」にメールが存在しないことを確認する為、メールの件数を取得する。
先程1.で設定した「IMAPメールを取得」アクティビティをコピー&ペーストしてください。その後以下プロパティを編集します。

  • 「ホスト > メールフォルダ」:"Inbox/Test2"
  • 「出力 > メッセージ」:List<MailMessage>型変数「Test2_BeforeMove」

3.「IMAPメールを別のフォルダに移動」アクティビティの設定をする。
「メール」 > 「IMAP」 > 「IMAPメールを別のフォルダに移動」アクティビティをドラッグ&ドロップでデザイナーパネルに配置します。

配置したらサーバーへの接続設定を行うため、以下プロパティをご自身の環境に合わせて設定してください。

  • 「オプション > セキュア接続」
  • 「ホスト > SSLを有効にする」
  • 「ホスト > サーバ」
  • 「ホスト > ポート」
  • 「ログオン > パスワード」
  • 「ログオン > メールアカウント」

参考に今回の設定例を以下に記載します。

  • 「オプション > セキュア接続」:Auto
  • 「ホスト > SSLを有効にする」:チェック
  • 「ホスト > サーバ」:Server
  • 「ホスト > ポート」:Port
  • 「ログオン > パスワード」:Password
  • 「ログオン > メールアカウント」:Account

次にメールの移動設定をします。以下プロパティそれぞれ設定してください。

  • 「移動先 > メールフォルダ」:"Inbox/Test2"
  • 「入力 > メール」:Test1_BeforeMove(1)
    ※今回は例として1を指定していますが、配列は0からカウントするためTest1フォルダ内に1件しかメールがない場合は0を指定してください
  • 「入力 > 元フォルダ」:"Inbox/Test1"

4.メール移動後の「Test1」のメールの件数を取得する。
1.で設定した「IMAPメールを取得」アクティビティをコピー&ペーストしてください。その後以下のようにプロパティを編集します。

  • 「出力 > メッセージ」:List<MailMessage>型変数「Test1_AfterMove」

5.メール移動後の「Test2」のメールの件数を取得する。
2.で設定した「IMAPメールを取得」アクティビティをコピー&ペーストしてください。その後以下のようにプロパティを編集します。

  • 「出力 > メッセージ」:List<MailMessage>型変数「Test2_AfterMove」

6.それぞれのフォルダの移動前、移動後のメールの件数をメッセージボックスに表示する。
「コア」 > 「ダイアログ」 > 「メッセージボックス」アクティビティをデザイナーパネルにドラッグ&ドロップで配置し、「入力 > テキスト」プロパティを以下のように設定します。

  • 「入力 > テキスト」:
    "メール移動結果" + vbLf + "Test1:" + Test1_BeforeMove.Count.ToString + "→" + Test1_AfterMove.Count.ToString + vbLf + "Test2:" + Test2_BeforeMove.Count.ToString + "→" + Test2_AfterMove.Count.ToString

※vbLfは改行コードです。

「ホーム > スタート」をクリック、または「F5キー」押下で実行します。実行するとメールが移動され以下の画像のようにメッセージボックスが表示されます。

※途中で使用している「IMAPメールを取得」アクティビティはコボットStudio/Agent2.1.1.2時点でバグがございます。詳細はリンク先をご覧ください。


印刷
H
Hyuga is the author of this solution article.

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。