Online Documents
繁體中文
繁體中文
  • First Launch Experience
  • How to Train EMILY?
  • Simple Web Automation
  • Web Automation Tools
  • Web Automation Processor
  • User Fill
  • Workspace Script
  • File Exporter
  • File Enumerator
  • EXCEL Processor
  • EXCEL Analyzer
  • EXCEL Writer
  • EXCEL Filler
  • CSV Creator
  • PowerShell
  • PDF Analyzer
  • Mail Sender
  • Mail Reader
  • Exchange Mail Sender
  • Exchange Mail Reader
  • HTTP Analyzer
  • Command Line
  • DOCX Templater
  • SQL Executor
  • Desktop Automation (DA)
  • SFTP
  • JSON API Server
  • Chart
  • DOCX2HTML
  • Folder Processor
  • Google Drive
  • Google Sheets
  • Google OCR
  • Google NLU
  • Azure Form Recognizer
  • Anti-Captcha
  • ChatGPT
  • Gemini
  • Schedule Trigger
  • Mail Trigger
  • File Trigger
  • API Trigger
  • Protect Text
  • Flexibility & Security
  • Announcement
    • Version Releases
    • Third Party Notice
Powered by GitBook
On this page
  • HOST
  • PORT
  • TLS/SSL
  • USERNAME
  • PASSWORD
  • MAILBOX
  • SINCE DAY(S) AGO
  • UNREAD ONLY
  • input 物件陣列
  • output 物件陣列
  • api 物件

Mail Reader

以IMAP讀取電子郵件

PreviousMail SenderNextExchange Mail Sender

Last updated 1 month ago

HOST

IMAP 郵件伺服器主機名稱,例如 imap.gmail.com。

PORT

IMAP 郵件伺服器連線埠號,預設為常用的 993。

TLS/SSL

IMAP 郵件伺服器是否需要TLS/SSL加密。

USERNAME

使用者在郵件伺服器設定的帳號名稱,可以夾帶 %FILENAME% 變數插入工作資料夾內檔名為 FILENAME 的TXT檔案內容,達到動態指定的效果。

PASSWORD

使用者在郵件伺服器設定的帳號密碼,支援 %FILENAME% 變數。

MAILBOX

郵件信箱名稱。

SINCE DAY(S) AGO

讀取自幾天前的郵件。

UNREAD ONLY

是否選擇只讀取未讀郵件。

input 物件陣列

在 input 物件陣列中的每個元素代表讀取自指定郵件信箱的每封郵件:

// 印出讀取到的每封郵件主旨與寄件者
input.forEach((mail) => {
  console.log('from:' + mail.from + ', title:' + mail.subject)
})

output 物件陣列

加入 output 陣列中的每個物件元素代表輸出表格的一列資料,物件中的 key 為表頭欄位,value 為該欄位在這一列資料的值,最後表格將被輸出成工作資料夾內的 output.csv 檔案。

// 將讀取的每封郵件文字欄位輸出到CSV,並且將附件檔案存檔
input.forEach((mail) => {
  output.push({
    from: mail.from,
    subject: mail.subject,
    date: mail.date.toLocaleString(),
  })
  
  if (mail.attachments.length > 0) {
    mail.attachments.forEach((att) => {
      api.write(att.filename, att.content)
    })
  }
})

// 指定表頭欄位
output.header.push('from','subject','date')

api 物件

除了提供同步函式:api.files(), api.read(filename, encoding='utf8'), api.write(filename, text), api.rename(oldname, newname), api.remove(filename) 存取工作資料夾內的檔案;另外提供 mail 物件與相關非同步函式 api.mail.moveto(uid, mailbox), api.mail.remove(uid)

// 找到標題包含'促銷'的郵件
let mail = _.find(input, (m) => m.subject.includes('促銷'))

// 移到'Trash'郵件資料夾
await api.mail.moveto(mail.uid, 'Trash')

// 找到標題包含'中獎'的郵件
mail = _.find(input, (m) => m.subject.includes('中獎'))

// 移除郵件
await api.mail.remove(mail.uid)