對我來說,明確的答案就像下面,我做了一個快速斯威夫特V2.3例子,它運行像下面這樣:
let imapsession = MCOIMAPSession()
imapsession.hostname = "YOUR SERVER"
imapsession.port = 993
imapsession.username = "EMAIL"
imapsession.password = "PASS"
imapsession.connectionType = MCOConnectionType.TLS
let requestKind : MCOIMAPMessagesRequestKind = MCOIMAPMessagesRequestKind.Headers
let folder : String = "INBOX"
let uids : MCOIndexSet = MCOIndexSet(range: MCORangeMake(1, UINT64_MAX))
let fetchOperation : MCOIMAPFetchMessagesOperation = imapsession.fetchMessagesOperationWithFolder(folder, requestKind: requestKind, uids: uids)
fetchOperation.start { (err, msg, vanished) -> Void in
print("error from server \(err)")
print("fetched \(msg?[0]) messages")
let msgs = msg
if msgs?.count > 0 {
for m in msgs! {
let MSG: MCOIMAPMessage = m as! MCOIMAPMessage
let op = imapsession.fetchMessageByUIDOperationWithFolder(folder, uid: MSG.uid)
op.start { (err, data) -> Void in
let msgParser = MCOMessageParser(data: data)
let html: String = msgParser.plainTextBodyRendering()
print("*********************")
print("Mail body\(html)")
print("mail sender:\(MSG.header.sender)")
print("mail recipient:\(MSG.header.to)")
print("mail subject:\(MSG.header.subject)")
print("*********************")
}
}
}
}
在上面的例子中,我去有點遠,我收集郵件內容作爲文本。你也可以用HTML來做。
希望這個答案能幫助你,並幫助其他人陷入同一問題!
使用[[_message.header.replyTo lastObject]郵箱] –
謝謝。它是分開給我的電子郵件地址。謝謝。如果我需要獲取「全部答覆」的所有電子郵件地址? – user1953977
我收到了_message.header.to,_message.header.cc,_message.header.bcc的電子郵件地址 – user1953977