B
blasted
Подскажите решение следующего вопроса. Есть скрипт для отправки сообщения с вложением. Работает прекрасно, но его необходимо оптимизировать под отправку с определенного почтового ящика. Интересует вариант именно с MAPI, т.к. работаем на Exchange 2003 и используется клиент Outlook 2007.
Вот текущий код скрипта. Если я правильно понимаю, то надо верно задать параметры ns.logon, но как ни пробовал не получается. Возможно, что надо использовать какой-то другой метод.
Dim ToAddress
Dim MessageSubject
Dim MessageBody
Dim MessageAttachment
Dim ol, ns, newMail
ToAddress = "someone@domain.com"
MessageSubject = "subject text"
MessageBody = "body"
MessageAttachment = "path_to_attachment"
Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
ns.logon "", "", true, false
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.HTMLBody = MessageBody & vbCrLf
Set myRecipient = ns.CreateRecipient(ToAddress)
myRecipient.Resolve
If Not myRecipient.Resolved Then
MsgBox "unknown recipient"
Else
newMail.Recipients.Add(myRecipient)
newMail.Attachments.Add(MessageAttachment).Display name = "name"
newMail.Recipients.Add(CCAddress)
newMail.Send
End If
Set ol = Nothing
Вот текущий код скрипта. Если я правильно понимаю, то надо верно задать параметры ns.logon, но как ни пробовал не получается. Возможно, что надо использовать какой-то другой метод.
Dim ToAddress
Dim MessageSubject
Dim MessageBody
Dim MessageAttachment
Dim ol, ns, newMail
ToAddress = "someone@domain.com"
MessageSubject = "subject text"
MessageBody = "body"
MessageAttachment = "path_to_attachment"
Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
ns.logon "", "", true, false
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.HTMLBody = MessageBody & vbCrLf
Set myRecipient = ns.CreateRecipient(ToAddress)
myRecipient.Resolve
If Not myRecipient.Resolved Then
MsgBox "unknown recipient"
Else
newMail.Recipients.Add(myRecipient)
newMail.Attachments.Add(MessageAttachment).Display name = "name"
newMail.Recipients.Add(CCAddress)
newMail.Send
End If
Set ol = Nothing