作者:文女2010_532 | 来源:互联网 | 2023-05-21 09:00
我正在尝试在运行Vbscript的Outlook中运行一条规则,该规则调用Slack.com Web服务并使用特定消息更新我的Slack频道之一。当前状态-我只希望它发布静态消息。将来的状态,我将尝试使用RegEx从电子邮件中解析出某些数据并将其发布到我的闲暇频道。
通过弗兰肯斯坦在网上找到的一些脚本,这就是我所拥有的(但效果不佳),希望有人可以提供帮助...
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
Birkley..
5
因此,我自己解决了此问题,但想发布更多详细信息。
请求:我想打电话给Slack并用自定义消息更新我的频道之一,当我收到电子邮件并触发Outlook规则时(从X消息发送到Y)。
解决方案:首先,您需要导航到C驱动器上Microsoft Office文件夹中的selfcert.exe,创建一个新的自签名证书,然后将该证书添加到Outlook中的Trusted Publishers。完成后,我通过按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
最后,我创建了一条规则,该规则寻找适当的参数,然后执行“运行此脚本”操作。单击规则中的“脚本”名称时,将弹出一个窗口,您可以选择已经创建的上述脚本。
希望这对某人有帮助!
1> Birkley..:
因此,我自己解决了此问题,但想发布更多详细信息。
请求:我想打电话给Slack并用自定义消息更新我的频道之一,当我收到电子邮件并触发Outlook规则时(从X消息发送到Y)。
解决方案:首先,您需要导航到C驱动器上Microsoft Office文件夹中的selfcert.exe,创建一个新的自签名证书,然后将该证书添加到Outlook中的Trusted Publishers。完成后,我通过按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
最后,我创建了一条规则,该规则寻找适当的参数,然后执行“运行此脚本”操作。单击规则中的“脚本”名称时,将弹出一个窗口,您可以选择已经创建的上述脚本。
希望这对某人有帮助!