anders_hg
asked on
VBScript EventSink: Why doesn't this work?
Hello,
I am trying out, what I thought to be, a simple event sink. I load a new message from an
existing file and want to replace the old incoming message with the new one.
Everything looks allright. sTempValue has the new subject, but when I receive the mail
its the old one. What am I missing here?
thank you,
Anders.
Sub ISMTPOnArrival_OnArrival(M sg, EventStatus)
'// Load a new message
Set fMsg = LoadMessageFromFile("c:\te st.mai")
'// Set old message to new message
Set Msg = fMsg
sTempValue = Msg.Subject '// Its the new one!!
End Sub
Function LoadMessageFromFile(Path) 'As Message
On Error Resume Next
Dim Stm2 'As ADODB.Stream
Dim iMsg2 'As CDO.Message
Dim iDsrc 'As CDO.IDataSource
Set Stm2 = CreateObject("ADODB.Stream ")
Stm2.Charset = "ascii"
Stm2.Open
Stm2.LoadFromFile Path
Set iMsg2 = CreateObject("CDO.Message" )
Set iDsrc = iMsg2.GetInterface("IDataS ource")
iDsrc.OpenObject Stm2, "_Stream"
Set LoadMessageFromFile = iMsg2
End Function
I am trying out, what I thought to be, a simple event sink. I load a new message from an
existing file and want to replace the old incoming message with the new one.
Everything looks allright. sTempValue has the new subject, but when I receive the mail
its the old one. What am I missing here?
thank you,
Anders.
Sub ISMTPOnArrival_OnArrival(M
'// Load a new message
Set fMsg = LoadMessageFromFile("c:\te
'// Set old message to new message
Set Msg = fMsg
sTempValue = Msg.Subject '// Its the new one!!
End Sub
Function LoadMessageFromFile(Path) 'As Message
On Error Resume Next
Dim Stm2 'As ADODB.Stream
Dim iMsg2 'As CDO.Message
Dim iDsrc 'As CDO.IDataSource
Set Stm2 = CreateObject("ADODB.Stream
Stm2.Charset = "ascii"
Stm2.Open
Stm2.LoadFromFile Path
Set iMsg2 = CreateObject("CDO.Message"
Set iDsrc = iMsg2.GetInterface("IDataS
iDsrc.OpenObject Stm2, "_Stream"
Set LoadMessageFromFile = iMsg2
End Function
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hello,
I think I registered the sink using
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q317327
am not at work, so I cant look it up, but 80% sure of it. otherwise I'll get
back to you on this one.
regarding the mail extension, that should not really matter, does it?
I can read all mail fields including attachments through the CDO.Message
interface using the LoadMessageFromFile function.
I can also use the loaded mail and place it in an exchange folder.
What I actually do is to take the incoming mail, save it to a text file,
do a SpamAssassin on it and load it back to iMsg2.
The strange things is that I can read all the Msg properties fine, which
are the same as the fMsg mail (after Set Msg = fMsg), but it seems that
those fields dont get saved leaving the sink. The recipientlist alteration
(using the envelopefields(recip_list) property), though, does somehow
get saved as the mail is sent to the right people.
strange. does this give some new light on the problem?
regards,
Anders.
I think I registered the sink using
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q317327
am not at work, so I cant look it up, but 80% sure of it. otherwise I'll get
back to you on this one.
regarding the mail extension, that should not really matter, does it?
I can read all mail fields including attachments through the CDO.Message
interface using the LoadMessageFromFile function.
I can also use the loaded mail and place it in an exchange folder.
What I actually do is to take the incoming mail, save it to a text file,
do a SpamAssassin on it and load it back to iMsg2.
The strange things is that I can read all the Msg properties fine, which
are the same as the fMsg mail (after Set Msg = fMsg), but it seems that
those fields dont get saved leaving the sink. The recipientlist alteration
(using the envelopefields(recip_list)
get saved as the mail is sent to the right people.
strange. does this give some new light on the problem?
regards,
Anders.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I found the msdn Q273233 article describing the problem,
but this does not seem to apply to my problem as I can
successfully change the recipient list from the EnvelopeFields.
thank you
/Anders.