根据邮件服务器自动下载Outlook中的图片

Automatically download images in Outlook based upon the mail server

我目前正在公司内部进行网络钓鱼活动,我正在努力改进流程。其中一个问题是,如果我包含跟踪像素以允许跟踪电子邮件是否已打开,则图像总是会被 outlook 阻止并要求用户手动下载它 "Click here to download pictures. To help protect your privacy, Outlook prevented automatic download of some pictures in this message,"

现在,我可以通过将欺骗性电子邮件地址添加到安全发件人列表来解决这个问题,但这意味着我必须为每个活动执行此操作,然后必须通过 GPO 将其推送给所有人。有谁知道可以将邮件服务器列入白名单的方法,以便从 10.10.150.200 收到的任何电子邮件都会自动下载其图像?

您需要设置 PR_BLOCK_STATUS MAPI 属性 - 请参阅下面 [MS-OXOMSG].pdf 的摘录。请记住,属性 必须在收到消息后在 客户端 端设置 - 您不能在发送消息时设置 属性。

请注意,OOM 不会帮助您,因为它会四舍五入所有 date/time 值,并且您需要使用本机 FILETIME 值来计算 PR_BLOCK_STATUS MAPI 的值 属性.要使用扩展 MAPI,您需要使用 C++ 或 Delphi.

如果使用 Redemption (I am its author) is an option (can be used from any language), you can set that property using RDOMail.DownloadPictures 属性:


2.2.1.1 PidTagBlockStatus

类型:PtypInteger32 8

表明用户对查看外部内容(例如链接 到 HTTP 服务器上的图像)在消息正文中。客户可以忽略这个 重视并始终根据其他因素允许或阻止外部内容 (例如发件人是否在安全列表中)。如果使用这个属性, 那么默认操作是阻止外部内容。但是,如果 这个属性的值在一定范围内,然后查看外部 内容是允许的。允许的值是从 PidTagMessageDeliveryTime:由于消息的发送者没有 了解此值后,发送方无法可靠地将 PidTagBlockStatus 设置为 允许的值。

要计算允许的值,请将值转换为 PidTagMessageDeliveryTime 到 PtypDouble,floatdate,其中日期是 表示为从 1899 年 12 月 30 日午夜算起的天数。应用 以下公式:result = ((floatdate - floor(floatdate)) * 100000000)

  • 3;其中 floor(x) returns 最大的整数? X。转换 PtypDouble 值结果为 32 位整数计算值。客户端应该设置 PidTagBlockStatus 到计算值以允许外部内容。然而,当 确定是否接受外部内容,客户端应该允许 外部内容如果绝对值之间的差异 computedvalue 且 PidTagBlockStatus 的值为 1 或更小。