![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
Environment:
-Outlook 2002(XP) -Added references to "Microsoft Outlook 10.0 Object Library" & "Microsoft CDO 1.21 Library" I have written a VB project using MS Visual Basic 6.0. My intention is to add a X-Header to a mail that is being sent from Outlook. I am capturing the ItemSend event and trying to add the header in that event handler. Please find the complete source code below. Please note that the Sub ChangeHeader() is working fine if I call it for an existing mail in my Outlook Inbox. But I have a problem in calling this ChangeHeader() from my ItemSend event handler, as ChangeHeader() takes MAPI.Message as an argument, but MyOLApp_ItemSend() is giving me Outlook.MailItem. How do I convert Outlook.MailItem to MAPI.Message? Or Is there any other way to add the X-header without needing to have a MAPI.Message object? Thanks, Gopi ************************************************** ********************** Public WithEvents MyOLApp As Outlook.Application Sub Intialize_Event_Handlers() Set MyOLApp = Application MsgBox "Initialize Event Handlers successful" End Sub Private Sub Command1_Click() Intialize_Event_Handlers End Sub Private Sub MyOLApp_ItemSend(ByVal Item As Object, Cancel As Boolean) MsgBox "I am in ItemSend handler" Dim myMailItem As Outlook.MailItem Set myMailItem = Item MsgBox myMailItem.Subject 'How do I now call ChangeHeader(), which takes MAPI.Message, as an argument!!! 'Add the custom header now 'ChangeHeader oMessage End Sub Sub ChangeHeader(oMessage As MAPI.Message) ' Initalize error handling On Error Resume Next MsgBox "ChangeHeader - BEGIN", vbInformation Dim oFields As MAPI.Fields Set oFields = oMessage.Fields Dim strheader As String ' Get SMTP header Err.Clear strheader = oFields.Item(CdoPR_TRANSPORT_MESSAGE_HEADERS).Valu e If Err.Number = 0 Then MsgBox strheader 'Display the original Internet headers 'Append the custom X-Header now! oMessage.Fields(CdoPR_TRANSPORT_MESSAGE_HEADERS) = oMessage.Fields(CdoPR_TRANSPORT_MESSAGE_HEADERS) & vbCrLf & "X-MY-HEADER9: Hello" ElseIf Err.Number = &H8004010F Then Err.Clear MsgBox "No SMTP message header information on this message", vbInformation 'Add the custom X-Header now oFields.Add CdoPR_TRANSPORT_MESSAGE_HEADERS, "X-MY-NEWHEADER: Hello" Else MsgBox "some vague scenario", vbInformation End If oMessage.Update MsgBox "ChangeHeader - END", vbInformation End Sub ************************************************** ********************** |
#2
|
|||
|
|||
![]()
See my reply in the outlook.program_vba newsgroup.
Please do not multipost. Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "gopi" wrote in message ... Environment: -Outlook 2002(XP) -Added references to "Microsoft Outlook 10.0 Object Library" & "Microsoft CDO 1.21 Library" I have written a VB project using MS Visual Basic 6.0. My intention is to add a X-Header to a mail that is being sent from Outlook. I am capturing the ItemSend event and trying to add the header in that event handler. Please find the complete source code below. Please note that the Sub ChangeHeader() is working fine if I call it for an existing mail in my Outlook Inbox. But I have a problem in calling this ChangeHeader() from my ItemSend event handler, as ChangeHeader() takes MAPI.Message as an argument, but MyOLApp_ItemSend() is giving me Outlook.MailItem. How do I convert Outlook.MailItem to MAPI.Message? Or Is there any other way to add the X-header without needing to have a MAPI.Message object? Thanks, Gopi ************************************************** ********************** Public WithEvents MyOLApp As Outlook.Application Sub Intialize_Event_Handlers() Set MyOLApp = Application MsgBox "Initialize Event Handlers successful" End Sub Private Sub Command1_Click() Intialize_Event_Handlers End Sub Private Sub MyOLApp_ItemSend(ByVal Item As Object, Cancel As Boolean) MsgBox "I am in ItemSend handler" Dim myMailItem As Outlook.MailItem Set myMailItem = Item MsgBox myMailItem.Subject 'How do I now call ChangeHeader(), which takes MAPI.Message, as an argument!!! 'Add the custom header now 'ChangeHeader oMessage End Sub Sub ChangeHeader(oMessage As MAPI.Message) ' Initalize error handling On Error Resume Next MsgBox "ChangeHeader - BEGIN", vbInformation Dim oFields As MAPI.Fields Set oFields = oMessage.Fields Dim strheader As String ' Get SMTP header Err.Clear strheader = oFields.Item(CdoPR_TRANSPORT_MESSAGE_HEADERS).Valu e If Err.Number = 0 Then MsgBox strheader 'Display the original Internet headers 'Append the custom X-Header now! oMessage.Fields(CdoPR_TRANSPORT_MESSAGE_HEADERS) = oMessage.Fields(CdoPR_TRANSPORT_MESSAGE_HEADERS) & vbCrLf & "X-MY-HEADER9: Hello" ElseIf Err.Number = &H8004010F Then Err.Clear MsgBox "No SMTP message header information on this message", vbInformation 'Add the custom X-Header now oFields.Add CdoPR_TRANSPORT_MESSAGE_HEADERS, "X-MY-NEWHEADER: Hello" Else MsgBox "some vague scenario", vbInformation End If oMessage.Update MsgBox "ChangeHeader - END", vbInformation End Sub ************************************************** ********************** |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
"Unable to open your default e-mail folders" error after Outlo | paul | Outlook - Installation | 5 | November 23rd 07 06:07 PM |
Unable to add "X-Header" to a mail that is being sent... | gopi | Outlook and VBA | 7 | May 15th 07 06:55 PM |
"Unable to open your default e-mail folders..." error | paul | Outlook - Installation | 6 | August 20th 06 05:44 PM |
Showing RFC822 "From" header in Messages pane "From" column | Ken Wallewein | Outlook - General Queries | 0 | July 22nd 06 05:47 PM |
"Reply-To:" header in OE mail messages | ggull | Outlook Express | 18 | May 9th 06 10:01 PM |