跳轉到內容

Rebol 程式設計/import-email

來自華夏公益教科書,開放的書籍,為開放的世界
IMPORT-EMAIL data /multiple parent 

從電子郵件訊息構建電子郵件物件。

IMPORT-EMAIL 是一個函式值。

  • data -- 電子郵件訊息(型別:字串)
  • /multiple -- 收集標頭中的多個欄位
    • parent -- (型別:物件)

原始碼

[編輯 | 編輯原始碼]
import-email: func [
    "Constructs an email object from an email message." 
    data [string!] "The email message" 
    /multiple "Collect multiple fields in header" parent [object!] 
    /local content frm
][
    data: parse-header either multiple [parent] [system/standard/email] content: data 
    frm: func [val /local res] [
        either block? val [
            either empty? val [
                copy ""
            ] [
                res: copy first val 
                foreach addlst next val [
                    insert insert tail res ", " addlst
                ] 
                res
            ]
        ] [
            val
        ]
    ] 
    data/date: parse-header-date either block? data/date [first data/date] [data/date] 
    data/from: parse-email-addrs frm data/from 
    data/to: parse-email-addrs frm data/to 
    all [multiple data/cc: parse-email-addrs frm data/cc] 
    all [multiple data/bcc: parse-email-addrs frm data/bcc] 
    data/reply-to: parse-email-addrs frm data/reply-to 
    data/content: any [data/content tail content] 
    data
]
華夏公益教科書