Я хочу получать тело сообщения и последнее полученное электронное письмо или невидимые электронные письма в Swift 4. Я ищу об этом, но каждый код в Objective-C или любых других старых языках. В Gmail, Yahoo, Outlook.
Я получил электронные письма, но мне не удалось получить тело сообщения и последнее известное полученное сообщение.
var uidSet = MCOIndexSet(range: MCORangeMake(1, UINT64_MAX))
var fetchOp: MCOIMAPFetchMessagesOperation? = session.fetchMessagesByUIDOperation(withFolder: "INBOX", requestKind: MCOIMAPMessagesRequestKind.headers, uids: uidSet)
fetchOp?.start({ err, msgs, vanished in
//print(msgs)
let msgs = msgs as? [MCOIMAPMessage]
for msgs in msgs!{
Я получил все электронные письма, которые находятся в моем почтовом ящике, но мне нужны только непросмотренные сообщения. И главная проблема в том, что мне не удалось получить тело сообщения.





var session = MCOIMAPSession() // Make Global
session.hostname = "imap.gmail.com"
session.port = 993
session.username = "[email protected]"
session.password = "**********"
session.connectionType = MCOConnectionType.TLS
let requestKind: MCOIMAPMessagesRequestKind = [.headers, .flags]
var uidSet = MCOIndexSet(range: MCORangeMake(1, UINT64_MAX))
var fetchOp: MCOIMAPFetchMessagesOperation? = session.fetchMessagesByUIDOperation(withFolder: "INBOX", requestKind: MCOIMAPMessagesRequestKind.headers, uids: uidSet)
fetchOp?.start{( err, msgs, vanished) -> Void in
//print(msgs)
let msgs = msgs as? [MCOIMAPMessage]
for msgs in msgs!{
// THE uid for this email. The uid is unique for one email
let uiid = msgs.uid
useImapFetchContent(uidToFetch: uiid)
}
}
func useImapFetchContent(uidToFetch uid: UInt32)
{
let operation = session.fetchParsedMessageOperation(withFolder: "INBOX", uid: UInt32(uid))
operation?.start{( error, messageParser)-> Void in
if error == nil {
let returnValue = messageParser!.plainTextBodyRenderingAndStripWhitespace(false)
}
let subject = messageParser?.header.subject
print(subject)
let from = messageParser?.header.from
print(from)
let to = messageParser?.header.to
print(to)
let msgPlainBody = messageParser?.plainTextBodyRendering()
print("BODY")
print(msgPlainBody)
}
}
вот мой код для получения писем с телом из gmail в Swift через MailCore2.. В запущенной форме
Мне удалось получить тело сообщения. И теперь я хочу получить только непрочитанное или последнее сообщение. Я загружаю свой код с помощью быстрого получения тела сообщения.