【发布时间】:2018-05-26 09:56:32
【问题描述】:
我正在尝试使用 netcmdlet 捕获多部分和纯文本电子邮件的消息正文。连接成功,电子邮件被提取,我可以毫无问题地保存附件,但我不知道如何保存正文。
import-module "C:\Program Files\nsoftware\NetCmdlets V4\netcmdlets"
$emails = get-imap -Connect $imapconnection -Folder $folder
foreach($msg in $emails)
{
if($msg.ContentType.StartsWith("multipart"))
{
# get message body text for multipart?
}
else
{
# get message body text for non multipart??
}
}
编辑
get-imap -Connect $imapconnection -Folder $folder | Get-Member
给予
TypeName: nsoftware.NetCmdlets.Commands.MessageInfoObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
BCC Property string[] BCC {get;set;}
CC Property string[] CC {get;set;}
ContentEncoding Property string ContentEncoding {get;set;}
ContentType Property string ContentType {get;set;}
Date Property string Date {get;set;}
Flags Property string Flags {get;set;}
From Property string From {get;set;}
FromEmail Property string FromEmail {get;set;}
FromFriendlyName Property string FromFriendlyName {get;set;}
Id Property string Id {get;set;}
PartContentEncoding Property string[] PartContentEncoding {get;set;}
PartContentType Property string[] PartContentType {get;set;}
PartCount Property int PartCount {get;set;}
PartFileName Property string[] PartFileName {get;set;}
PartId Property string[] PartId {get;set;}
PartMultiPartMode Property string[] PartMultiPartMode {get;set;}
PartParameters Property string[] PartParameters {get;set;}
PartSize Property string[] PartSize {get;set;}
ReplyTo Property string ReplyTo {get;set;}
ReplyToEmail Property string ReplyToEmail {get;set;}
ReplyToFriendlyName Property string ReplyToFriendlyName {get;set;}
Size Property long Size {get;set;}
Subject Property string Subject {get;set;}
【问题讨论】:
-
我不熟悉这些 cmdlet。您可以使用
$msg | Get-Member查看是否有任何属性看起来像正文内容?您可能需要深入研究一下。文档指出了几种不同的输出类型。 -
将输出添加到问题
-
$msg | Get-Member自己返回一个空行(添加到 foreach 循环中)
标签: powershell imap