3

MAPI の仕組みを理解してくれる人はいますか? MAPI を使用して電子メールを送信するこの単純な vbscript があります。それは完全に正常に動作しますが、それがどのように行われているかはわかりません...バックグラウンドで何が起こっているのでしょうか?

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

前もって感謝します...

4

1 に答える 1

2

上記のコードで行っていることは、実際には、インストールされているバージョンの Outlook を使用してメール メッセージを送信することです。Outlook は MAPI を使用している可能性がありますが、ここで実際に使用している API インターフェイスは、Outlook の COM ベースの自動化です。このようなコードは、Outlook を使用して、Outlook が使用するように構成できる任意のメール転送システムを介して電子メールを送信します。ただし、電子メール メッセージを送信するだけでも、多くのオーバーヘッドが発生します。ネットワークまたは経由でローカルにある電子メール サーバーによっては、電子メールを送信するためのはるかに効率的な方法がある場合があります。しかし、これが問題なく機能し、現在のニーズを満たしている場合でも、上記の方法で何か問題があるとは考えないでください。利用可能なツールを理解し、それらを特定の問題領域に最適に適用する方法を理解することがすべてです。

コードでは、Outlook を制御し、電子メール メッセージを作成するように指示しています。メッセージを Outlook に渡していますが、Outlook は構成済みのプロファイルを実際に使用して、構成済みの Exchange サーバーまたは他のインストール済み/構成済みのメール トランスポート エージェント (mta) にメッセージを渡す方法を決定します。

于 2012-07-30T17:12:36.003 に答える