我有以下代码,我可以通过我配置的outlook发送邮件。 我可以使用我的Outlook中的规则运行此vbs,然后将邮件发送到脚本中指定的电子邮件
但是在运行此脚本发送邮件时,我收到一个确认框,询问是否有病毒。
如何摆脱此确认框以使总是允许发送邮件。
Dim ToAddress
Dim MessageSubject
Dim MessageBody
Dim MessageAttachment
Dim ol, ns, newMail
ToAddress = "John.Smith@place.com" ' change this...
MessageSubject = "My Subject"
MessageBody = "DATA"
Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
ns.logon "","",true,false
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.Body = MessageBody & vbCrLf
' validate the recipient, just in case...
Set myRecipient = ns.CreateRecipient(ToAddress)
myRecipient.Resolve
If Not myRecipient.Resolved Then
MsgBox "unknown recipient"
Else
newMail.Recipients.Add(myRecipient)
newMail.Send
End If
Set ol = Nothing
答案 0 :(得分:1)
我相信你会受到微软在几年前推出的安全补丁所带来的内置安全功能的打击。我知道的唯一方法是对代码进行数字签名,然后将用于签署该代码的证书导入证书存储区,或者更好地使用Redemption DLL。从Redemption DLL站点:
Outlook Redemption可以解决 Outlook所施加的限制 安全补丁和Service Pack 2 MS Office 98/2000和Office 2002/2003/2007(包括安全 补丁)加上提供了一些 要使用的对象和函数 属性和功能没有 通过Outlook对象公开 模型。
可以从这里下载DLL:http://www.dimastr.com/redemption/download.htm,如果你环顾四周,你可以找到几个如何使用它的例子。这是一个让你入门:http://www.utteraccess.com/forums/printthread.php?Cat=&Board=80&main=409393&type=thread
另请注意已发布和回答的问题:
How to avoid Outlook security alert when reading outlook message from C# program