1

我有以下代码,我可以通过我配置的 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
4

1 回答 1

1

我相信您会受到微软几年前通过安全补丁实施的内置安全功能的打击。我知道的唯一方法是对代码进行数字签名,然后将用于签署该代码的证书导入证书存储,或者更好的是使用Redemption DLL。从兑换 DLL 站点:

Outlook Redemption 解决了 MS Office 98/2000 和 Office 2002/2003/2007(包括安全补丁)的 Outlook 安全补丁和 Service Pack 2 施加的限制,并且提供了许多对象和函数来处理未公开的属性和功能通过 Outlook 对象模型。

DLL 可以从这里下载:http ://www.dimastr.com/redemption/download.htm ,如果你环顾四周,你会发现几个如何使用它的例子。这是一个可以帮助您入门的方法:http ://www.utteraccess.com/forums/printthread.php?Cat=&Board=80&main=409393&type=thread

另请注意之前发布和回答的问题:

从 C# 程序读取 Outlook 消息时如何避免 Outlook 安全警报

Outlook关于宏的唠叨对话框

于 2009-05-19T18:32:56.697 回答