MBOX (.mbox)

背景

    • MIME 类型:application/mbox
    • Unix 邮箱格式.
    • 拥有电子邮件消息集合.
    • 电子邮件客户例如:Unix 邮件、Thunderbird 等的原档案格式.
    • 有二进制数据编码的文本格式.
    • EML 格式存储的信息,用分隔线连接.
    • 支持 RFC 4155.

Import

  • Import["file.mbox"] 导入一个 MBOX 文件,以关联形式返回信心摘要的列表.
  • Import["file.mbox"] 返回形式为{msg1,msg2,}的表达式,其中 msgi 为给出单个邮件消息的关联.
  • Import["file.mbox",elem] 从 MBOX 文件中导入指定的参数.
  • Import["file.mbox",{elem,suba,subb,}] 导入一个子参数.
  • Import["file.mbox",{{elem1,elem2,}}] 导入多个参数.
  • 导入格式可以由 Import["file","MBOX"] Import["file",{"MBOX",elem,}] 指定.
  • 请到以下参考页面了解完整的基本信息:
  • Import从文件导入
    CloudImport从云对象导入
    ImportString从字符串导入
    ImportByteArray从字节数组导入

导入参数

  • Import 的通用参数:
  • "Elements" 文件中可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 完整邮箱参数:
  • "MessageSummaries"给出每个信息基本参数的关联列表
    "MessageElements"给出每个信息主要参数的关联列表
    "FullMessageElements"给出信息所有可用参数的关联列表
    "MessageCount"邮箱中出现的信息数
  • 默认情况下,Import 使用 "MessageSummaries" 参数.
  • 摘要参数:
  • "From"发件人姓名和电子邮件地址
    "ToList"收件人姓名和地址
    "CcList"复制的收件人姓名和地址
    "BccList"隐蔽抄送的收件人姓名和地址
    "OriginatingDate"电子邮件标头中客户端的日期和时间
    "Subject"电子邮件的主题
    "BodyPreview"邮件正文的简短预览
    "HasAttachments"邮件是否包含任何附件
    "MessageID"该信息的 ID
  • "MessageSummary" 包括所有摘要参数.
  • 附加信息参数:
  • "FromAddress"发件人原始电子邮件地址
    "FromName"发件人全名
    "ToAddressList"收件人地址
    "ToNameList"收件人全名
    "CcAddressList"复制的收件人地址
    "CcNameList"复制收件人全名
    "BccAddressList"隐蔽抄送的收件人地址
    "BccNameList"隐蔽抄送的收件人全名
    "ReplyToList"回复姓名和地址
    "ReplyToAddressList"回复地址
    "ReplyToNameList"回复全名
    "Body"作为字符串的消息正文
    "AttachmentList"作为表达式的经处理的附件列表
  • "MessageElements" 包括除 "BodyPreview""HasAttachments" 之外的所有摘要和消息元素.
  • 可从以下分类导入每封邮件更多详细信息.
  • 信息正文参数:
  • "BodyPreview"邮件正文的简短预览
    "Body"作为字符串的消息正文
    "NewBodyContent"未回复或转发的正文部分
    "QuotedContent"被引用的正文部分
  • 主题参数:
  • "ThreadCount"邮箱中的线程数
    "ThreadGraph"邮箱中表示为 Graph 的线程
    "ThreadEmailCount"每个线程中的邮件数
    "ThreadTimeInterval"每个线程中从第一封电子邮件到最后一封电子邮件的间隔
    "ThreadDuration"每个线程中从第一封电子邮件到最后一封电子邮件的持续时间
    "ThreadMessageIDList"每个线程中所有电子邮件的消息 ID 列表
    "ThreadFromList"引用内容的发件人列表
    "ReferenceMessageIDGraph""reference" 信息的 Graph 连接
  • 信息路径相关参数:
  • "Precedence"公开的邮件优先级
    "ReturnPath"邮件中公开的返回路径
    "ReturnReceiptRequested"是否要求回执
    "DeliveryChainHostnames"邮件发送链上的主机名称
    "DeliveryChainRecords"邮件发送链上的完整记录
  • 邮件标题相关参数:
  • "Plaintext"作为字符串的完整原始邮件
    "HeaderString"作为字符串的完整邮件标题
    "HeaderRules"所有标题的规则列表
    "CharacterEncoding"邮件内容的字符编码
    "ContentType"邮件正文的 MIME 内容类型
    "MIMEVersion"MIME 标准的版本
    "ReplyToMessageID"每条消息回复的任何消息 ID 的列表
    "ReferenceMessageIDList""reference" 消息的 ID(通常在一个线程上)
  • 信息来源相关参数:
  • "OriginatingMailClient"原始邮件客户端类型
    "OriginatingIPAddress"原始客户端机器的 IP 地址
    "OriginatingHostname"原始客户端的主机名称
    "OriginatingCountry"地理 IP 推测的原始国家
    "OriginatingDate"从邮件标题得到的客户端日期和时间
    "OriginatingTimeZone"基于标题的客户端时区
    "ServerOriginatingDate"原始服务器上的日期和时间
    "ServerOriginatingTimeZone"原始服务器上的时区
  • 附件相关参数:
  • "HasAttachments"信息中是否含有任何附件
    "AttachmentNames"发配附件的名称列表
    "AttachmentList"给出附件内容的表达式列表
    "AttachmentSummaries"给出基本附件参数的关联列表
    "AttachmentData"给出附件原始编码数据的关联列表
    "AttachmentDecodedData"给出附件原始解码数据的关联列表
    "AttachmentDetails"给出内容和附件元素的关联列表
  • 参数 "AttachmentDetails" 是为每个附件提供关联的列表。该关联的常用参数如下:
  • "Name"附件发送的名称
    "MIMEType"内容的 MIME 类型
    "Content"导入的内容
    "ContentDisposition"附件的内容处理
    "ModificationDate"附件的修改日期记录
    "ByteCount"原始编码内容的位数
  • 参数 "AttachmentDecodedData" 是为每个附件提供关联的列表。该关联的常用参数如下:
  • "Name"附件发送的名称
    "MIMEType"内容的 MIME 类型
    "DecodedContent"作为字节数组的原始解码内容
    "ContentDisposition"附件的内容处理
    "ModificationDate"附件的修改日期记录
    "ByteCount"原始编码内容的位数
  • 参数 "AttachmentData" 是为每个附件提供关联的列表. 常见的该关联的参数如下:
  • "Name"附件发送的名称
    "MIMEType"内容的 MIME 类型
    "RawContent"作为字符串的原始编码内容
    "ContentTransferEncoding""RawContent" 的内容传输编码
    "ContentDisposition"附件的内容处理
    "ModificationDate"附件的修改日期记录
    "ByteCount"原始编码内容的位数
  • "AttachmentSummaries" 包含每个附件的 "Name""MIMEType" 和解码内容的 "ByteCount".
  • 用于导入任何参数 elem 的部分数据的子参数,可以 {elem,msgs} 格式的行列规范,其中 msgs 可为一下任意:
  • nn 封邮件
    -n从结尾的计算
    messageid指定邮件消息的 ID
    {spec1,spec2,}邮件索引或消息 ID 的列表
  • 对于 "FullMessageElements""MessageElements""MessageSummaries" 的子元素也可以用 {elem,msgs,keys} 格式给出,其中键可以是关联中的任何参数.
  • {elem,spec} 形式访问部分线程参数 elem 的子元素可以采用以下规范 spec
  • nnth 线程(基于起始数据)
    messageid包含特定消息 ID 的线程

选项

  • Import 参数:
  • "AttachmentRules"<||>控制如何导入附件的规则
  • 作为关联的 "AttachmentRules"可用设置包括:
  • fmtNone将格式 fmt 的附件导入为 None
    fmtelem在导入 fmt 附件时的 Import 参数
    fmtfun在解码的字节数组上使用纯函数 fun
  • 格式规范 fmt 可为任何 $ImportFormats 支持的格式或一个 MIME 类型.

范例

打开所有单元关闭所有单元

基本范例  (3)

导入一个样本 MBOX 文件:

确认 MBOX 文件中信息的数:

从 MBOX 文件中提取邮件主题:

导入邮件日期:

范围  (6)

确认 MBOX 文件中信息的数:

导入信息摘要:

"MessageID" 对指定信息提取更多信息:

根据在邮箱中的位置导入信息:

导入一个邮件的指定参数作为 Association:

从邮箱导入消息参数:

导入参数  (62)

可用参数  (1)

可用参数列表:

表示数据  (10)

"MessageSummaries"  (2)

获取 MBOX 文件中的信息摘要:

Dataset 形式查看信息摘要:

"MessagesElements"  (2)

从关联列表中导入信息:

导入 MBOX 文件中的第二个信息:

"FullMessageElements"  (1)

导入第一个信息的完整内容:

导入收信箱中的所有信息的参数:

"Subject"  (1)

从 MBOX 文件提取信息标题:

"Body"  (1)

导入信息正文:

"Plaintext"  (1)

将第一条信息以原始网络信息格式导入:

"BodyPreview"  (2)

导入新信息内容的摘要:

"BodyPreview" 提取并摘要信息的新内容:

与完整信息内容进行比较:

内容查询  (2)

"NewBodyContent"  (1)

从信息提取新的未引用内容:

将提取的内容与原始正文进行对比:

"QuotedContent"  (1)

从信息提取引用的内容:

将提取内容与原始正文进行比较:

线程参数  (8)

"ThreadCount"  (1)

导入邮箱中的线程数:

"ThreadGraph"  (1)

导入邮箱中的消息图:

"ThreadEmailCount"  (1)

导入每个线程中的电子邮件数量:

"ThreadTimeInterval"  (1)

导入邮箱中每个线程的时间间隔:

"ThreadDuration"  (1)

导入邮箱中每个线程的持续时间:

"ThreadMessageIDList"  (1)

为邮箱中的每个线程导入所有消息 ID:

"ThreadFromList"  (1)

为邮箱中的每个线程导入所有发件人姓名和电子邮件地址:

"ReferenceMessageIDGraph"  (1)

导入邮箱中所有引用的图形:

邮箱地址标题参数  (19)

"From"  (1)

导入发信人的姓名和邮件地址:

"FromName"  (1)

导入发信人的全名:

"FromAddress"  (1)

导入发信人的电子邮件地址:

"ToList"  (1)

导入收信人姓名和地址的列表:

"ToAddressList"  (1)

导入收信人地址的列表:

"ToNameList"  (1)

导入收信人的姓名列表:

"CcList"  (1)

导入抄送的收信人的姓名和地址列表:

"CcAddressList"  (1)

导入抄送的收信人的地址:

"CcNameList"  (1)

导入抄送人姓名列表:

"BccList"  (1)

导入隐藏收信人姓名和地址列表:

"BccAddressList"  (1)

导入隐藏收信人地址列表:

"BccNameList"  (1)

导入隐藏收信人姓名列表:

"ReturnPath"  (1)

导入返回路径:

"ReplyToList"  (1)

导入回信名称和地址列表:

"ReplyToAddressList"  (1)

导入回信地址列表:

"ReplyToNameList"  (1)

导入回信名称列表:

"MessageID"  (1)

提取信息 ID:

"ReplyToMessageID"  (1)

提取回信信息的 ID:

"ReferenceMessageIDList"  (1)

提取引用消息的 ID:

基本标题参数  (4)

"HeaderString"  (1)

将信息的完整邮件标题作为字符串导入:

"HeaderRules"  (1)

将信息标题作为规则列表导入:

"CharacterEncoding"  (1)

导入信息的字符编码:

"ContentType"  (1)

导入邮件本文的 MIME 内容类型:

高级标题参数  (11)

"Precedence"  (1)

导入公开的邮件优先级:

"ReturnReceiptRequested"  (1)

导入任何返回的收信人地址:

"DeliveryChainHostnames"  (1)

导入发送链的主机名称:

"DeliveryChainRecords"  (1)

将发送链记录作为 Association 导入:

"OriginatingMailClient"  (1)

确认发送信息的邮件客户端:

"OriginatingIPAddress"  (1)

导入发送信息的机器的 IP 地址:

"OriginatingHostname"  (1)

导入发送信息的机器的主机名称:

"OriginatingDate"  (1)

导入发送邮件的日期和时间:

"OriginatingTimezone"  (1)

从邮件标题导入客户端时区:

"ServerOriginatingDate"  (1)

导入原服务器的日期和时间:

"ServerOriginatingTimezone"  (1)

导入原服务器的时区:

附件参数  (7)

"HasAttachments"  (1)

确定一封消息有附件:

"AttachmentNames"  (1)

获取任何附件的文件名称:

"AttachmentList"  (1)

将附件作为规则列表导入:

"AttachmentSummaries"  (1)

获取邮件信息中的附件摘要:

"AttachmentData"  (1)

从第二个信息导入原始附件数据:

"AttachmentDecodedData"  (1)

导入第二条消息的解码附件数据:

"AttachmentDetails"  (1)

导入第二条消息的附件和详细信息:

导入选项  (3)

"AttachmentRules"  (3)

导入 WAV 文件作为 "Length" 参数:

不导入任何 GIF 图像:

指定控制 GIF 图像导入的纯函数:

应用  (6)

基本应用  (2)

"Alice Johnson" 导入所有信息的标题:

找出在特定日期后发送的所有信息位置:

内容查询  (1)

找出 MBOX 中所有提到的 "lunch" 一词(无视引用内容):

找出 MBOX 中所有提到的 "lunch" 一词(包含重复和引用内容):

处理附件  (2)

导入附件超过 50000 字节的信息:

从 ASCII 编码字符串手动导入第二个信息的第一个附件:

分析邮件线程  (1)

从 MBOX 中的每封邮件中收集部分基本参数,并显示每条消息 ID:

找出所有回复另一邮件的全部邮件:

构造一个图形,以消息 ID 为顶点,以回复连接为边,并用发件人的名称标记每条消息:

有新文本内容的每封消息提示信息: