Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 此脚本(使用Outlook发送电子邮件)如何工作?_Vbscript_Outlook - Fatal编程技术网

Vbscript 此脚本(使用Outlook发送电子邮件)如何工作?

Vbscript 此脚本(使用Outlook发送电子邮件)如何工作?,vbscript,outlook,Vbscript,Outlook,有人能帮我理解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 Message

有人能帮我理解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接口是基于COM的Outlook自动化。此类代码将利用Outlook通过Outlook可以配置为使用的任何邮件传输系统发送电子邮件。然而,仅仅发送一封电子邮件就要花费大量的开销。根据您在网络上或通过网络使用的本地电子邮件服务器,可能会有更有效的方式发送电子邮件。但是,如果这样做很好,并且满足了您当前的需求,那么不要认为这意味着按照上述方式进行操作有任何问题。这一切都是关于了解您可用的工具,以及如何将它们最好地应用于您的特定问题空间


在代码中,您控制Outlook并告诉它创建电子邮件。您正在将邮件传递给Outlook,而Outlook实际上正在使用配置的配置文件。它必须确定如何将邮件传递给已配置的Exchange server或其他已安装/配置的邮件传输代理(mta)。

您能用简单的方式解释什么是COM吗?:)这里有很多关于维基百科网站的细节。如何使用此脚本?