Build Status

关于

MimeParser 是一个简单的 MIME (多用途互联网邮件扩展) 解析库,使用 Swift 编写 (要了解更多关于 MIME 的信息,请参考 RFC 822, RFC 2045, RFC 2046)

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它

$ gem install cocoapods

要使用 CocoaPods 将 MimeParser 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

project '<Your Project Name>.xcodeproj'
platform :osx, '10.12'

target 'Test' do
  use_frameworks!
  pod 'MimeParser', '~> 0.1'
end

然后,运行以下命令

$ pod install

用法

在使用 MimeParser 之前导入它

import MimeParser

创建解析器对象

let parser = MimeParser()

让这是一个最简单的待解析的 MIME

let str = """
	Content-Type: text/plain
	
	Test
	"""

您已准备好解析 MIME 了

let mime = try parser.parse(str)

返回的 mime 对象是 MIME 树的根,并提供对其 header 字段和 content 的访问

public enum MimeContent {
    case body(MimeBody)
    case mixed([Mime])
    case alternative([Mime])
}

public struct MimeHeader {
    public let contentTransferEncoding: ContentTransferEncoding?
    public let contentType: ContentType?
    public let contentDisposition: ContentDisposition?
    public let other: [RFC822HeaderField]
}

if let contentTypeString = mime.header.contentType?.raw {
	print("\(contentTypeString)")
	// "text/plain"
}

if case .body(let body) = mime.content {
	print("\(body.raw)")
	// "Test"
}

解码后的 MIME 内容可以轻松检索

let content = try mime.decodedContentData()
// "Test"

许可证

MimeParser 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。

贡献

MimeParser 仍然非常简单和不完整,欢迎提交 pull request!