iT邦幫忙

2023 iThome 鐵人賽

DAY 8
2
IT管理

Five mins RPA | 機器人流程自動化系列 第 8

Five mins RPA | 8.RPA接收郵件統整

  • 分享至 

  • xImage
  •  

郵件接收器(Mail Receiver)

郵件模組是一個強大的工具,用於管理和處理電子郵件。它提供了多種功能,包括郵件讀取與寄送的處理和輸出。無論是個人還是在工作中使用,都有助於提高工作效率並更好地管理郵件。昨天我們說明了郵件發送,今天要介紹的部分是郵件接收。在開始前請確認你已經有生成 Google App Passwords 密碼,若沒有請參考上一章內容或參考 Google 官方文件:
https://support.google.com/accounts/answer/185833?hl=en

MailReceiver.png

回顧前一天文章:Five mins RPA | 7.RPA自動發送郵件

Mail Receiver 主要欄位介紹

郵件讀取模組,使用IMAP 讀取電子郵件。以下是一些與此功能相關的重要設置,透過這些設置,郵件模組可以幫助你有效地讀取電子郵件,無論是日常郵件還是特定需求的篩選:

  • HOST:SMTP 郵件伺服器主機名稱

主機名稱是IMAP郵件伺服器的地址,如果你使用Gmail,Gmail的主機名稱是imap.gmail.com。

  • PORT:SMTP 郵件伺服器連線埠號

連線埠號是 SMTP 伺服器的通信通道,如果是擷取電子郵件需求,收件者能夠閱讀或下載郵件。預設情況下收件所 SMTP 使用的連線埠號是 993。通常不用更改。

  • TLS/SSL:SMTP 郵件伺服器是否需要加密

TLS 和 SSL 是網絡安全協議,用於加密通信。勾選表示你的郵件通信將使用加密。

  • USERNAME:使用者在郵件伺服器設定的帳號名稱

郵件伺服器上的帳號名稱,也就是寄件的電子郵件。

  • PASSWORD:使用者在郵件伺服器設定的帳號密碼

郵件伺服器上的密碼,把我們等一下生成的 Google App Passwords 填寫進來。

最後一個是LOW-CODE,它允許你在發送郵件之前對內容進行修改。這對於自動化工作流程非常有用,你可以根據需要自訂腳本,以確保郵件內容符合你的要求。這部分我們後面詳細解釋。

  • MAILBOX:指定寄件人

這個設置允許指定要讀取的郵件信箱的名稱。

  • SINCE DAY(S) AGO:篩選時間

這個選項允許指定要讀取自多少天前的郵件,如果你有篩選郵件需求,這功能會非常有用。

  • UNREAD ONLY:僅讀取未讀郵件

如果只想讀取未讀的郵件,可以啟用此選項。

開始訓練:RPA自動發送郵件

  • 開啟新的技能訓練,選擇『Mail Reader 郵件讀取』模組

我們開啟一個新的訓練,命名我們的技能群組名稱後,打開主畫面右邊視窗中的 Mail Reader。

skill.png

  • 填寫『Mail Reader 郵件讀取』模組資料

進入郵件寄送模組後我們把我們的基本資料填寫上去,以及傳送郵件時想要發送的內容。我們可以在 Low-Code 寫入以下程式碼,每個元素代表讀取自指定郵件信箱的每封郵件。可以根據需求處理這些郵件,例如印出郵件主旨(mail.subject) 和寄件者(mail.from)。
常見參數包含:mail.from (寄件者) mail.to (收件者) mail.subject (主旨) mail.text (內文)

input.forEach((mail) => {
  console.log('寄件者:' + mail.from + ', 主題:' + mail.subject)
})

Fillinfo.png

  • 打開 Debug 視窗做偵錯

打開 Debug 視窗,進入到 Console 後點選 Test 就可以進行收件測試,很快的 RPA 機器人就會自動幫忙把郵件內的信整理起來,我們可以看到寄件者和主旨內容。如果沒有報錯且可以從輸出看到郵件的資料就代表說這次收件成功!

Debug.png

  • 利用 output.push 將結果匯出為 csv

我們有個剛剛利用 console.log 印出郵件資料後,現在可以再補上 output.push 的程式碼,將我們所想抓取的資料輸出,我們選擇輸出寄件者 (mail.from) 主旨 (mail.subject) 還有日期 (mail.date),這些數據最終會輸出成 output.csv檔案。可以到 WorkSpace 查看輸出結果,以下是範例:

input.forEach((mail) => {
  console.log('寄件者:' + mail.from + ', 主題:' + mail.subject)
  output.push({
  寄件者: mail.from,
  主旨: mail.subject,
  日期: mail.date.toLocaleString(),
  })
})

csv.png

  • 把所有附件下載下來

除了寄件者跟標題外,還有一個常見的是附件,我們可以利用 api.write 將附件抓下來。

input.forEach((mail) => {
	mail.attachments.forEach((att) => {
		api.write(att.filename, att.content)
	})
})

attachments.png

  • 結束訓練

郵件模組非常適合用於管理和處理電子郵件。它提供了多種功能,包括郵件讀取、篩選、處理和輸出。無論是個人使用還是在企業環境中使用,這些功能都能夠有助於幫助你提高工作效率並更好地管理郵件。

這個世界瘋了,但我們也可以跟著瘋

黃仁勳的一句話讓這個世界都瘋了,身為與數據打交道多年的我們能做些什麼呢? 很簡單就是跟著一起瘋。「You Learn the more, you Get the more.」。沒想到鐵人賽又一年了呢,這篇是 【Five mins RPA】 系列文章除此之外也歡迎大家走走逛逛關於我過去的文章

Jerry Chien

一個正在為 300 多萬訂閱的 Youtuber 服務的資料科學家,擅長將商管行銷導入機器學習與人工智慧,並且從大量的數據中找出 Insight,待過 FMCG、Communication、Digital Marketing,最近一直在資訊圈打滾,趕著不被這波人工智慧浪潮給吞噬,寫文章寫了好一段時間了,期待著這個社會每個人能在各個角力間不斷沖突而漸能找到一個平衡點並回歸最初的初心。


上一篇
Five mins RPA | 7.RPA自動發送郵件
下一篇
Five mins RPA | 9.Excel Processor 自動化處理模組
系列文
Five mins RPA | 機器人流程自動化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
juck30808
iT邦研究生 1 級 ‧ 2023-09-17 17:55:22

範例內容稍做更新 2023.09.17

我要留言

立即登入留言