我在Outlook中构建了一个自定义表单,可以在任何时候发送更改时发送电子邮件通知。由于表单的规范,我不得不在表单的结束事件上发送电子邮件的表单中添加一些VBScript(不幸的是)。
该表单目前已发布且效果良好。似乎正在出现的唯一问题是我是唯一一个使用的用户,并通过以下对话框提示:
使用该表单的其他任何人都没有获得该对话框。 此对话框强制您等到进度条完成后才“允许”您发送电子邮件(约5秒)。是否因为我是发布者?或者它是我遇到的客户端设置? 如何禁用此小狗?
如果其相关内容来源:
Sub SendAttach()
'Open mail, adress, attach report
Dim objOutlk 'Outlook
Dim objMail 'Email item
Dim strMsg
Const olMailItem = 0
'Create a new message
set objOutlk = createobject("Outlook.Application")
set objMail = objOutlk.createitem(olMailItem)
objMail.To = Item.UserProperties("Assigned To")
objMail.cc = Item.UserProperties("Bcc")
'Set up Subject Line
objMail.subject = "Work Order Notifications: " & Item.UserProperties("Work Order Number") & " - " & _
Item.UserProperties("Subject") & " Due " & Item.UserProperties("Due Date")
'Add the body
strMsg = Item.UserProperties("Specifications") & vbcrlf
strMsg = strMsg & Item.UserProperties("Constraints")
objMail.body = strMsg
objMail.display 'Use this to display before sending, otherwise call objMail.Send to send without reviewing
objMail.Send
'Clean up
set objMail = nothing
set objOutlk = nothing
End sub
这里的安全不是问题。如果有人设法开始从我的工作站发送电子邮件,那么我遇到的问题比电子邮件欺骗要大得多!
作为旁注,我无法确定SO或SU是否是此问题的最佳位置。如有必要,请相应地重定向。
答案 0 :(得分:3)
我在尝试完成某些稍微不同的尝试时遇到了这个问题,但为此目的是相同的。 HK提供的链接有助于理解正在进行的操作,但最终我选择不使用页面上讨论的任何选项。相反,我保持简单,并决定愚弄Outlook认为我发送电子邮件而不是自动化过程,我这样做是通过用SendKeys替换来替换objMail.Send来模仿自己按下发送按钮,有点难看但是工作就我而言。
编辑:
您可以使用此sendkeys语句:
SendKeys "%{s}", 1
这基本上调用Alt + S来触发outlook发送按钮。
答案 1 :(得分:1)
三个选项
- Use a pc without the MS Outlook security patch
- Use the redemption ocx (google it up to download)
- Use SMTP instead of outlook
这里的第二个选项是一个例子
Function sendmail2 (sRecipient, sSubject, sMsg, sAttach)
on error resume next
dim SafeItem, oItem
set SafeItem = CreateObject("Redemption.SafeMailItem") 'Create an instance of Redemption.SafeMailItem
set oItem = oApp.CreateItem(0) 'Create a new message
With SafeItem
.Item = oItem 'set Item property
.Recipients.Add sRecipient
.Recipients.ResolveAll
.Subject = sSubject
.HTMLBody = sMsg
.Send
End With
End Function
答案 2 :(得分:0)
我遇到了同样的问题,因为我的应用程序在Windows 7上运行,我能够使用Windows Mail Client(wlmail.exe)发送电子邮件而不是MS Outlook。使用Wlmail时,警告仍然是默认行为,但有一个选项可以通过转到选项>来关闭警告。安全选项卡,一旦你将其关闭,程序就可以发送邮件而不会弹出。
答案 3 :(得分:0)
另一种可能的解决方法是更新计算机上的注册表设置。
此链接概述了如何识别相关的注册表项以及应设置的值。这使您可以覆盖信任中心设置。