2012-07-30 1 views
3

MAPI의 작동 방식을 이해하는 데 도움을 줄 수있는 사람은 누구입니까? MAPI를 사용하여 이메일을 보내는 간단한 vbscript가 있습니다. 그것은 완벽하게 잘 작동하지만, 어떻게 그 일을하는지 모르겠다 ... 백그라운드에서 무슨 일이 일어나고있는거야? 위 실제로 메일 메시지를 보내도록 Outlook의 설치 버전을 사용하고이 코드에 뭐 사전에이 스크립트 (Outlook을 사용하여 전자 메일 보내기)는 어떻게 작동합니까?

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 = "[email protected]" 
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 

감사합니다 ...

답변

2

. Outlook은 MAPI를 잘 사용하고 있을지 모르지만 여기에서 실제로 사용하는 API 인터페이스는 Outlook의 COM 기반 자동화입니다. 이와 같은 코드는 Outlook을 사용하여 Outlook에서 사용하도록 구성된 모든 메일 전송 시스템을 통해 전자 메일을 보냅니다. 그러나 이메일 메시지를 보내려면 많은 오버 헤드가 필요합니다. 네트워크에서 또는 이메일을 통해 로컬에있는 이메일 서버가 이메일을 보내는 데 훨씬 효율적인 방법 일 수 있습니다. 그러나 이것이 현재 잘 작동하고 현재 요구 사항을 충족 시킨다면 위와 같은 방식으로 문제가 있다는 것을 의미하지 마십시오. 사용 가능한 도구를 이해하고 특정 문제 공간에 가장 적합한 도구를 적용하는 방법에 관한 것입니다.

코드에서 Outlook을 제어하고 전자 메일 메시지를 만들라고 말합니다. Outlook으로 메시지를 전달하면 Outlook은 실제로 구성된 Exchange 서버 또는 설치된 다른/설치된 메일 전송 에이전트 (mta)에 메시지를 전달하는 방법을 결정해야하는 구성된 프로필을 사용합니다.

+0

몇 가지 간단한 방법으로 COM을 설명 할 수 있습니까? :) – duper

+0

위키피디아의 COM에 대한 자세한 내용은 다음과 같습니다. http://en.wikipedia.org/wiki/Component_Object_Model – dmarietta

+0

이 스크립트는 어떻게 사용할 수 있습니까? – Mowgli

관련 문제