我正在尝试在 Outlook 中运行一条规则,该规则运行一个 VBScript,该脚本调用 Slack.com Web 服务并使用特定消息更新我的 Slack 频道之一。当前状态——我只想让它发布一条静态消息。未来我将尝试使用 RegEx 解析电子邮件中的某些数据并将其发布到我的 Slack 频道。
从弗兰肯斯坦在网上找到的一些脚本中,这就是我所拥有的(但不太有效)希望有人可以提供帮助......
Function ProcessSend()
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.4.0")
Set oXMLDoc = CreateObject("MSXML2.DOMDocument")
strEnvelope = "payload={""channel"": ""#edt-error"", ""text"": ""This is posted to #edt-error.""}"
Call oXMLHTTP.Open("POST", "https://custom-slack-url-for-service-goes-here.com" & posFirm, False)
Call oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
Call oXMLHTTP.Send(strEnvelope)
Dim szResponse: szResponse = oXMLHTTP.responseText
Call oXMLDoc.LoadXML(szResponse)
If (oXMLDoc.parseError.ErrorCode <> 0) Then
'call msgbox("ERROR")
response = oXMLHTTP.responseText&" "&oXMLDoc.parseError.reason
'call msgbox(oXMLDoc.parseError.reason)
Else
response = oXMLDoc.getElementsByTagName("string")(0).ChildNodes(0).Text
End If
End Sub
所以我自己解决了这个问题,但想发布更多细节。
要求 :当我收到一封电子邮件并触发 Outlook 规则(来自 X 的消息并发送给 Y)时,我想拨打 Slack 并使用自定义消息更新我的一个频道。
解决方案 :首先,您需要导航到 C 驱动器上 Microsoft Office 文件夹中的 selfcert.exe,创建新的自签名证书,然后将该证书添加到 Outlook 中的受信任发布者中。完成后,我通过按 Alt+F11 从 Outlook 打开 Visual Basic,并在“ThisOutlookSession”项目中创建以下脚本。
Sub ProcessSend(Item As Outlook.MailItem)
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
Set oXMLDoc = CreateObject("MSXML2.DOMDocument")
strEnvelope = "payload={""channel"": ""#edt-error"", ""text"": ""This is posted to #edt-error.""}"
Call oXMLHTTP.Open("POST", "https://INSERT-YOUR-SERVICE-URL-HERE" & posFirm, False)
Call oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
Call oXMLHTTP.Send(strEnvelope)
Dim szResponse: szResponse = oXMLHTTP.responseText
Call oXMLDoc.LoadXML(szResponse)
End Sub
最后,我创建了一个规则来查找适当的参数,然后执行“运行此脚本”操作。当您点击规则中的“脚本”名称时,会弹出一个窗口,您可以选择上面已经创建的脚本。
希望这对某人有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)