套用搜尋過濾器
將過濾器套用至連接的電子郵件,以搜尋特定訊息。
指令可用性: IBM RPA SaaS 及 IBM RPA 內部部署
說明
將過濾器套用至連接的電子郵件,以搜尋特定訊息。
僅適用於 21.0.7-IF001版,此指令也用於在連線帳戶有權存取的共用信箱中搜尋。 Exchange 及 Outlook 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)
相依關係
使用適用於每一個 (
forEach
) 指令來取得電子郵件訊息實例。 否則,指令只會傳回第一個結果。使用下列指令來連接至電子郵件伺服器:
連接至 Exchange 電子郵件伺服器 (
exchangeConnect
)連接至 IMAP 電子郵件伺服器 (
imapConnect
)連接至 Outlook 伺服器 (
outlookConnect
)
輸入參數
下表顯示此指令中可用的輸入參數清單。 在表格中,當您在 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> |
電子郵件種類 |
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。