2009-09-30 63 views
4

是否有任何其他方式摆脱这种外观安全信息? “一个程序试图自动发送电子邮件......等等”,它给了我一个选项来选择是,没有&帮助。展望安全

我目前正在开发一个使用Ms Access的Outlook自动化应用程序。每次我发出发送命令这个消息弹出窗口,我尝试使用SendKeys“%s”,但它在Access 2007中不起作用。

有没有其他解决方案呢?谢谢!!

回答

0

通过谷歌搜索只是您的Outlook老马消息中找到此link,看起来应该解决您的问题

+0

感谢Kimvais的链接。但看起来像第三方实用程序或东西..有没有我可以用来解决这个问题的任何MS Access命令/函数? – Arnold 2009-09-30 07:31:17

+0

不!没有MS Access命令\函数来解决问题! – 2009-09-30 09:03:24

0

您可以通过直接中继发送到SMTP服务器,而不是使用Outlook来将消息中继避免这种情况。安全警告旨在阻止像您这样的人在我不知情的情况下从我的帐户发送消息。虽然你的意图很好,但你写的基本上是类似于病毒的(想象一下,如果你没有安全提示就可以做到这一点 - 垃圾邮件天堂!)

+0

但是,如果您直接转到SMTP,您的Outlook发送的邮件文件夹将不包含该邮件的副本。 – 2009-10-02 02:34:08

+0

确切地说 - 我们不希望应用程序或脚本混淆我们的东西。想象一下,如果他们允许这种类型的脚本,那么可能性就会存在。 – Fenton 2009-10-02 08:05:33

3

微软不希望脚本能够发送电子邮件没有用户的同意。据KB 263084,您可以执行下列操作之一(这避免了编写脚本的界面或系统配置来说,拦截的消息):

  • 改变某些Exchange Server设置
  • 使用CDO
  • 使用扩展MAPI
  • 使用COM加载

我不认为任何的编程解决方案是特别简单的,并且将更改应用到交易可能不适合您的解决方案(especi当然,如果您的应用程序应该与不在Exchange环境中的Outlook客户端一起使用)。

+0

当然,在独立的Access场景中(即不作为Exchange客户端运行),更改Exchange设置不是一种选择。 – 2009-10-02 02:33:17

+0

CDO不会将邮件的副本放入Outlook发送的邮件文件夹中。由于Microsoft修补MAPI DLL的方式,扩展MAPI非常困难 - 有些Outlook安装永远无法使用(通常在安装其他电子邮件程序的地方安装它们自己的MAPI DLL版本)。我使用Outlook Redemption并认为它很好。 – 2009-10-02 02:35:37

+0

我同意这些选项不是很好,当然也不简单。我不熟悉Outlook Redemption,但是快速浏览了网站 - 它看起来像是一个非常好的选项(它似乎避免了安全消息本质上是扩展MAPI的包装)。 – 2009-10-02 14:16:51

6

您不妨考虑Outlook Redemption

从导语:

展望赎回工作解决由Outlook安全修补程序和MS Office 98/2000的Service Pack 2和办公室所施加的限制2003分之2002/ 2007(其中包括安全修补程序),并提供了许多对象和函数以处理未通过Outlook对象模型公开的属性和功能。

0

如果你不想使用赎回(其他人已经提供了,所以我认为你不这样做),你还有另一个选择,我可以保证会实施更多的痛苦。 基本上你需要做的是创建一个加载项,而不是外部程序。外接程序能够做任何你想要的Outlook,而不会收到这些消息。 您可以使外接程序像一个简单的服务器一样 - 通过接收来自外部世界的命令(如果您无法在Outlook中执行任何操作)执行所需的操作。 也许你可以解除WCF服务(IPC或Inter Process Communication,它像两个进程之间的共享内存那样工作)。 但请注意,如果您只是使用Redemption或只是一个加载项,您可能会更好。 将Outlook与外部进程连接是一件痛苦的事情,并且由于Outlook类不可序列化而变得更糟。所以基本上你需要为你需要通过你的应用程序访问的每个类添加数据传输对象。

也许如果你解决这个问题,它会容易实现,但它仍然是一个挑战。