套用搜尋過濾器

將過濾器套用至連接的電子郵件,以搜尋特定訊息。

指令可用性: IBM RPA SaaS 及 IBM RPA 內部部署

說明

將過濾器套用至連接的電子郵件,以搜尋特定訊息。

僅適用於 21.0.7-IF001版,此指令也用於在連線帳戶有權存取的共用信箱中搜尋。 ExchangeOutlook Desktop 應用程式 連線使用 Search in Mailboxes (N/A for IMAP) 參數,從共用信箱進行過濾。

Script 語法

IBM RPA 的專有 Script 語言具有類似於其他程式設計語言的語法。 Script 語法在 Script 檔中定義指令的語法。 您可以在 IBM RPA Studio的 Script 模式中使用此語法。

emailApplySearchFilters [--searchsharedmailboxes(List<String>)] --folderpath(String) [--searchpublicfolders(Boolean)] [--from(List<String>)] [--to(List<String>)] [--cc(List<String>)] [--bcc(List<String>)] [--subjectdirective(EmailStringFilterDirective)] [--inclusivesubject(List<String>)] [--exclusivesubject(List<String>)] [--wordsdirective(EmailStringFilterDirective)] [--inclusivewords(List<String>)] [--exclusivewords(List<String>)] [--withattachment(Boolean)] [--startdate(DateTime)] [--enddate(DateTime)] [--labels(List<String>)] --connection(EmailConnection)

相依關係

輸入參數

下表顯示此指令中可用的輸入參數清單。 在表格中,當您在 IBM RPA Studio的 Script 模式及其 Designer 模式對等標籤中工作時,可以看到參數名稱。

設計程式模式標籤 Script 模式名稱 必要 接受的變數類型 說明
連線 connection Required Email Connection 包含套用搜尋過濾器的電子郵件訊息集合的變數。
資料夾名稱 folderpath Optional Text 要使用過濾器進行搜尋的電子郵件伺服器上的特定資料夾名稱。 如需詳細資料,請參閱 folderpath 參數
搜索公用資料夾 searchpublicfolders Optional Boolean 啟用以將公用資料夾新增至搜尋過濾器。
在信箱中搜尋(若為 IMAP,則為 N/A) searchsharedmailboxes Optional Text, List<Text> 僅適用於 21.0.7-IF001版,這是要存取的共用信箱。 如需詳細資料,請參閱 searchsharedmailboxes 參數
開始日期 from Optional List<Text> 寄件者的電子郵件位址。
收件者 to Optional List<Text> 收件者的電子郵件位址。
副本 cc Optional List<Text> 要向其傳送副本的電子郵件位址。
密件副本 bcc Optional List<Text> 要向其傳送副本密送的電子郵件位址。
Word 搜尋指引 subjectdirective Optional EmailStringFilterDirective 包含如何在電子郵件主旨中搜尋單字之規則的選項。

如需詳細資料,請參閱 subjectdirective 參數選項
主旨中的內含單字 inclusivesubject Optional List<Text> 必須包含在所搜尋電子郵件主旨中的單字。 此參數不區分大小寫。

23.0.1之前的版本上使用 IMAP 連線時,由於 Microsoft™ 伺服器端問題,此參數會區分大小寫,大寫單字會導致過濾器即使包含在搜尋中也會失敗。

⚠ 注意: 如果過濾器套用至包含未列在 US ASCII 字集 🡥中字元的文字, 回應可能不同於預期要過濾的回應。
主旨中的排除單字 exclusivesubject Optional List<Text> 無法包含在所搜尋電子郵件主旨中的單字。

由於在 23.0.1之前的版本上使用 IMAP 連線時發生 Microsoft™ 伺服器端問題,此參數會區分大小寫,大寫單字會導致過濾器即使包含在搜尋中也會失敗。

⚠ 注意: 如果過濾器套用至包含 US ASCII 字集 🡥中未列出之字元的文字,則回應可能與預期過濾的不同。
在電子郵件內文中搜尋單字 wordsdirective Optional EmailStringFilterDirective 包含如何在電子郵件內文中搜尋單字之規則的選項。

如需詳細資料,請參閱 wordsdirective 參數選項
內含單字 inclusivewords Optional List<Text> 必須在搜尋的電子郵件內文中出現的單字。

由於在 23.0.1之前的版本上使用 IMAP 連線時發生 Microsoft™ 伺服器端問題,此參數會區分大小寫,大寫單字會導致過濾器失敗,即使在搜尋中也一樣。

⚠ 注意: 如果過濾器套用至包含 US ASCII 字集 🡥中未列出之字元的文字,則回應可能與預期過濾的不同。
排除單字 exclusivewords Optional List<Text> 無法出現在電子郵件內文中的單字。

由於在 23.0.1之前的版本上使用 IMAP 連線時發生 Microsoft™ 伺服器端問題,此參數會區分大小寫,大寫單字會導致過濾器失敗,即使在搜尋中也一樣。

⚠ 注意: 如果過濾器套用至包含 US ASCII 字集 🡥中未列出之字元的文字, 回應可能不同於預期要過濾的回應。
包含附件 withattachment Optional Boolean 啟用後,將僅搜尋訊息中包含附件的電子郵件。
啟動日期 startdate Optional Date Time 將從中提取電子郵件的起始日期過濾器。 日期應該採用 UTC 格式。
結束日期 enddate Optional Date Time 將從中提取電子郵件的最終日期過濾器。 日期應該採用 UTC 格式。
類別 labels Optional List<Text> 電子郵件種類 外部鏈結 的定義。

searchsharedmailboxes 參數選項

searchsharedmailboxes 參數是您指定要套用過濾器的共用信箱或信箱的位置。 它的行為如下。

Outlook Desktop 應用程式

  • 如果您輸入 *,則過濾器會套用至帳戶有權存取之所有共用信箱的所有資料夾。
  • 如果您將它保留空白,則過濾器只會套用至預設帳戶信箱。
  • 如果您想要從特定的共用信箱進行過濾,則必須在 List<Text> 變數中新增其帳戶電子郵件,這些過濾器也會套用至預設帳戶信箱。

Exchange 連線

  • 如果您想要從您帳戶有權存取的特定共用信箱進行過濾,則必須在 List<Text> 變數中新增共用信箱帳戶電子郵件,這些過濾器也會套用至預設帳戶信箱。
  • 如果您將它保留空白,則過濾器只會套用至預設帳戶信箱。

folderpath 參數選項

folderpath 參數是您指定要套用過濾器之資料夾的位置。 它的行為如下。

  • 如果您在資料夾名稱參數上指定 * ,則過濾器會套用至所有資料夾。
  • 若為 IMAP 及 Outlook 連線,如果您將它保留空白,則過濾器會套用至預設資料夾,即 Inbox 資料夾。
  • 如果您指定資料夾名稱,則過濾器會套用至指定的資料夾。
  • 對於 Exchange 連線,如果您將它保留空白,則過濾器會套用至所有資料夾。

subjectdirective 參數選項

下表顯示 subjectdirective 輸入參數可用的選項。 此表格顯示在 Script 模式下以及在 Designer 模式對等標籤下工作時可用的選項。

設計程式模式標籤 Script 模式名稱 說明
全部 All 尋找包含所有單字的主旨。
任何 Any 從清單中尋找包含一個以上單字的主旨。

wordsdirective 參數選項

下表顯示 wordsdirective 輸入參數可用的選項。 此表格顯示在 Script 模式下以及在 Designer 模式對等標籤下工作時可用的選項。

設計程式模式標籤 Script 模式名稱 說明
全部 All 在電子郵件內文中尋找包含所有單字的文字。
任何 Any 在電子郵件內文中尋找包含清單中一個以上單字的文字。

範例

套用搜尋過濾器指令會使用搜尋過濾器來尋找包含附件的所有電子郵件。

defVar --name ImapConnection --type EmailConnection
defVar --name emailMessages --type EmailMessage
defVar --name sender --type List --innertype String --value "[useremail@email.com]"
defVar --name recipient --type List --innertype String --value "[recipientemail@email.com]"
defVar --name emailSubject --type String
defVar --name emailBody --type String
// Connects to the Outlook365 Imap server.
imapConnect --mailhost "outlook.office365.com" --mailport 993 --usessl--username "useremail@email.com" --mailusername "useremail@email.com" --mailpassword userpassword --enableLogImapConnection=value
emailApplySearchFilters --searchallemails--from ${sender} --to ${recipient} --subjectdirective "All" --wordsdirective "All" --withattachment--connection ${ImapConnection}
foreach --collection "${ImapConnection}" --variable "${emailMessages}"
emailRead --message ${emailMessages} emailSubject=subject emailBody=body
endFor
emailDisconnect --connection ${ImapConnection}
// A filter is applied to search only emails that contain an attachment, to read them.

附註:使用有效的電子郵件連線來執行此範例 Script。