谁能帮助我了解 MAPI 的工作原理?我有这个简单的 vbscript,它使用 MAPI 发送电子邮件。它工作得很好,但是,我不知道它是怎么做到的...后台发生了什么?
Const ForReading = 1
Set args = WScript.Arguments
sqlFile = args.Item(0)
logFile = args.Item(1)
Dim ToAddress
Dim FromAddress
Dim MessageSubject
Dim MyTime
Dim MessageBody
Dim MessageAttachment
Dim ol, ns, newMail
MyTime = Now
ToAddress = "my@email.com"
MessageSubject = "Subject goes here"
MessageBody = "Body message goes here."
MessageAttachment = ""&logFile&""
Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.Body = MessageBody & vbCrLf & MyTime
newMail.RecipIents.Add(ToAddress)
newMail.Attachments.Add(MessageAttachment)
newMail.Send
提前致谢...
最佳答案
您在上面这段代码中所做的实际上是使用已安装的 Outlook 版本来发送邮件消息。 Outlook 很可能正在使用 MAPI,但您在这里实际使用的 API 接口(interface)是基于 COM 的 Outlook 自动化。诸如此类的代码将利用 Outlook 通过 Outlook 可以配置使用的任何邮件传输系统发送电子邮件。但是,仅发送电子邮件消息的开销就很大。根据您在网络上可能拥有的本地电子邮件服务器,或者可能有更有效的发送电子邮件的方式。但是,如果这工作正常并且满足您当前的需求,请不要认为这意味着按照上述方式进行操作有任何问题。这一切都是关于了解您可用的工具以及如何最好地将它们应用于您的特定问题空间。
在您的代码中,您正在控制 Outlook 并告诉它创建一封电子邮件。您将邮件传递给 Outlook,然后 Outlook 实际上使用配置的配置文件来确定如何将邮件传递给配置的 Exchange 服务器或其他已安装/配置的邮件传输代理 (mta)。
关于vbscript - 这个脚本(使用 Outlook 发送电子邮件)如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11726067/