Я пытаюсь сгенерировать некоторые электронные письма, используя VBScript CDO.Message, код приведен ниже.
Принимающим клиентам, IBM (Lotus) Notes, требуется некоторое количество информации, предоставляемой с использованием одного заголовка "X-«Notes-Item» повторяется много раз.
то есть
[..snip..]
From: [from@hidden].com
X-Notes-Item: value 1; name=Key1
X-Notes-Item: value 2; name=Key2
X-Notes-Item: value 3; name=Key3
MIME-Version: 1.0
Content-type: text/html; charset=UTF-8
[..snip..]
Но кажется, что скрипт устанавливает заголовок один раз, а затем просто перезаписывает его повторно, так что только окончательное значение для X-Notes-Элемент отправлен.
Option Explicit
Dim objMessage, objShell
Set objShell = CreateObject("wscript.Shell")
Set objMessage = CreateObject("CDO.Message")
With objMessage
.Subject = "[Blah]"
.From = "[from@hidden].com"
.Sender = "[sender@hidden].com"
.To = "[to@hidden].com"
.Fields("urn:schemas:mailheader:X-Notes-Item") = "value 1; name=Key1"
.Fields("urn:schemas:mailheader:X-Notes-Item") = "value 2; name=Key2"
.Fields("urn:schemas:mailheader:X-Notes-Item") = "value 3; name=Key3"
.Fields.Update
.HTMLBody = "<html><body><p>[Blah]</p></body></html>"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "PWNOTSMTP"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
.Send
End With
Set objMessage=Nothing
Я также попытался использовать список, получил ошибку
Не удалось обновить поля.Для получения дополнительной информации изучите свойство Status отдельных объектов поля.
, но я совсем не разбираюсь в VBScript, поэтому не представляю, близко ли это к правильной реализации или никогда не будет работатьв любом случае?
'...
Dim list
Set list = CreateObject("System.Collections.ArrayList")
list.Add "value 1; name=Key1"
list.Add "value 2; name=Key2"
list.Add "value 3; name=Key3"
With objMessage
'...
.Fields("urn:schemas:mailheader:X-Notes-Item") = list
.Fields.Update
'...
End With
'...
Кроме того, хватаясь за соломинку, я попытался добавить .Fields.Update
между каждой строкой заголовка, что, как и ожидалось, не имело никакого значения
Есть ли простой способ, которым яполностью отсутствует добавление набора повторяющихся заголовков?