2

我已经编写了一个发送电子邮件的 Powershell 脚本,但我正在尝试找出一种向其添加 AIP 分类的方法。我的组织使用以下一般分类:

公共
内部
秘密

由于在这种情况下分类是内部的,我只需要一种在我的脚本中设置它的方法。我当前的脚本(使用 Office 365)是:

$message = New-Object Net.Mail.MailMessage
$emailTo = 'user1@domain.tld'
$emailFrom = 'user2@domain.tld'
$emailCc = 'user3@domain.tld'
$smtpServer = 'smtp.domain.tld'
$subject = "Report"
$body = @"
<p><font face = "Calibri" size = "3">Hello,</p>

<p>Please see report.</p>


<br/><br/><font face = "Tempus Sans ITC" size = "3">User 2
<br/>123 Maple Road
<br/>(555) 555-5555 Office
<br/>user2@domain.tld</font>

<br/><br/><img src="cid:attlogo">
"@

$smtp = New-Object Net.Mail.SmtpClient
$smtp.Host = $smtpServer
$smtp.EnableSsl = $true

$logo = "C:\logo.png"
$attlogo = New-Object System.Net.Mail.Attachment($logo)
$attlogo.ContentDisposition.Inline = $True 
$attlogo.ContentDisposition.DispositionType = "Inline" 
$attlogo.ContentType.MediaType = "image/png" 
$attlogo.contentID = "attlogo"

$message.From = $emailFrom
$message.To.Add($emailTo)
$message.Cc.Add($emailCc)
$message.Subject = $subject
$message.Body = $body
$message.IsBodyHtml = $true
$message.Attachments.Add($attlogo)

$smtp.Send($message)

$attlogo.Dispose()

有些人可能想知道为什么我不使用 Send-MailMessage cmdlet,但在这种情况下,内联图像不能很好地配合它,所以我最终使用了 .Net。

如果有人知道如何将副本发送到 Outlook 邮箱中的“已发送”文件夹,那将获得奖励积分。

4

1 回答 1

0

我们无法将其直接应用于您的邮件,因为在您将邮件发送到 SMTP 服务之前,没有真正的邮件可以应用它。

此标签是否适用保护?如果没有,您可以通过将 AIP 标签元数据直接添加到 SMTP 标头来实现您的目标。

我们在名为msip_labels的 SMTP 标头中添加 AIP 标签元数据。如果您有应该应用的元数据,则可以将此数据插入到每条消息的标题中。不幸的是,我们今天没有办法在 AIP PowerShell 模块中获取这些数据。但是,我确实在 GitHub 上发布了一些示例,展示了如何获取策略信息。

https://github.com/Azure-Samples/Mipsdk-Dotnet-Policy-Quickstart

该示例将允许您输入一个标签(尽管它需要在当前状态下进行修改,因为它需要两个标签进行模拟),并获取操作详细信息。您可以修改该应用程序以仅接受一个标签,然后仅输出元数据操作以了解将应用哪些元数据。然后您将其粘贴在 SMTP 标头中并发送您的消息。

如果您必须对文档应用保护,我们还没有提供帮助的功能。这有点复杂,因为我们必须从您的纯文本消息中生成一个 message.rpmsg 文件,然后您需要附加并设置额外的标头。我们的 SDK 中还没有生成 message.rpmsg 的功能。

希望有帮助!如果我可以为您回答更多问题,请告诉我。

于 2019-10-04T20:25:26.713 回答