how to change the mail message body

  • Thread starter Thread starter Ram
  • Start date Start date
R

Ram

hi,

How to change the mail message body. When i am click send option, i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
One of the problems I had in an add in recently was that modifying the Body
property was naturally messing with HTML formatting and appending to the
HTMLBody property does not have the desired effect because you need to
"inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text at the
beginning of the message (you could do the same thing with the end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com
 
You can load the HTML into the IHTMLDocument2 object and use DOM to modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending to
the HTMLBody property does not have the desired effect because you need to
"inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text at
the beginning of the message (you could do the same thing with the end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Ram said:
hi,

How to change the mail message body. When i am click send option, i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Thanks, Dmitry that sounds like a much better approach. Mine was for a quick
one-off internal add in.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Dmitry Streblechenko said:
You can load the HTML into the IHTMLDocument2 object and use DOM to modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending to
the HTMLBody property does not have the desired effect because you need
to "inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text at
the beginning of the message (you could do the same thing with the end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Ram said:
hi,

How to change the mail message body. When i am click send option, i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Oh by the way does that work for Word mail too?

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Dmitry Streblechenko said:
You can load the HTML into the IHTMLDocument2 object and use DOM to modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending to
the HTMLBody property does not have the desired effect because you need
to "inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text at
the beginning of the message (you could do the same thing with the end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Ram said:
hi,

How to change the mail message body. When i am click send option, i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
No, in this case you need to use the Inspector.WordEditor property which
returns an instance of the Word.Document object.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
Oh by the way does that work for Word mail too?

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Dmitry Streblechenko said:
You can load the HTML into the IHTMLDocument2 object and use DOM to
modify it or, if the item is already being displayed in an HTML editor,
use thee Inspector.HTMLEditor property to retrive IHTMLDocument2
interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending
to the HTMLBody property does not have the desired effect because you
need to "inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text at
the beginning of the message (you could do the same thing with the end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com



hi,

How to change the mail message body. When i am click send option,
i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Hi,
explain me how to use
Inspector.HtmlEditor property to get IHtmlDocument2 interface.

--
Regards,

RamakoteswaraRao Koti

Dmitry Streblechenko said:
You can load the HTML into the IHTMLDocument2 object and use DOM to modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending to
the HTMLBody property does not have the desired effect because you need to
"inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text at
the beginning of the message (you could do the same thing with the end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


Ram said:
hi,

How to change the mail message body. When i am click send option, i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Dim MyDoc as IHtmlDocument2
....
set MyDoc = Inspector.HtmlEditor

I am not sure I understand your question, as simple as it sounds.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Ram said:
Hi,
explain me how to use
Inspector.HtmlEditor property to get IHtmlDocument2
interface.

--
Regards,

RamakoteswaraRao Koti

Dmitry Streblechenko said:
You can load the HTML into the IHTMLDocument2 object and use DOM to
modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Josh Einstein said:
One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending to
the HTMLBody property does not have the desired effect because you need to
"inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text
at
the beginning of the message (you could do the same thing with the
end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com



hi,

How to change the mail message body. When i am click send option, i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Helllo Dmitry,

Thanks your help. i can understand how to create
IHTMLDocument object in VB. I need in VC++6.0.

i have done like this,
IDispatch *Pdisp=NULL;

CComPtr<Outlook::_Application>m_applicant(m_spApp);

CComPtr<Outlook::_Inspector>m_inspect;

HRESULT hr;

IHTMLDocument2 *htmdocument=NULL;

COMPtr<Outlook::_Inspector>m_applicant
HRESULT hr;
hr= m_applicant->ActiveInspector(&m_inspect);

if(FAILED(hr))

MessageBox(NULL,_T("This is not active inspector object"),_T("Current
Inspector"),MB_OK);

else

MessageBox(NULL,_T("This is active inspector object"),_T("Current
Inspector"),MB_OK);

m_inspect->get_HTMLEditor(&Pdisp);

Pdisp->QueryInterface(IID_IHTMLDocument2,(void**)&htmdocument);


But its gives runtime errors when i use this ,in oulook plugin

Can you suggest any solution.
--

Regards,

RamakoteswaraRao Koti
Software Engineer,
Nannacomputers Pvt Ltd

Dmitry Streblechenko said:
Dim MyDoc as IHtmlDocument2
...
set MyDoc = Inspector.HtmlEditor

I am not sure I understand your question, as simple as it sounds.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Ram said:
Hi,
explain me how to use
Inspector.HtmlEditor property to get IHtmlDocument2
interface.

--
Regards,

RamakoteswaraRao Koti

Dmitry Streblechenko said:
You can load the HTML into the IHTMLDocument2 object and use DOM to
modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and
appending
to
the HTMLBody property does not have the desired effect because you
need
to
"inject" into the HTML.

So I just used a very simple Regex replace to effectively insert text
at
the beginning of the message (you could do the same thing with the
end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com



hi,

How to change the mail message body. When i am click send
option,
i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Did you make sure Pdisp is not NULL? It will be if you are using Word or
plain text editor.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Ram said:
Helllo Dmitry,

Thanks your help. i can understand how to create
IHTMLDocument object in VB. I need in VC++6.0.

i have done like this,
IDispatch *Pdisp=NULL;

CComPtr<Outlook::_Application>m_applicant(m_spApp);

CComPtr<Outlook::_Inspector>m_inspect;

HRESULT hr;

IHTMLDocument2 *htmdocument=NULL;

COMPtr<Outlook::_Inspector>m_applicant
HRESULT hr;
hr= m_applicant->ActiveInspector(&m_inspect);

if(FAILED(hr))

MessageBox(NULL,_T("This is not active inspector object"),_T("Current
Inspector"),MB_OK);

else

MessageBox(NULL,_T("This is active inspector object"),_T("Current
Inspector"),MB_OK);

m_inspect->get_HTMLEditor(&Pdisp);

Pdisp->QueryInterface(IID_IHTMLDocument2,(void**)&htmdocument);


But its gives runtime errors when i use this ,in oulook
plugin

Can you suggest any solution.
--

Regards,

RamakoteswaraRao Koti
Software Engineer,
Nannacomputers Pvt Ltd

Dmitry Streblechenko said:
Dim MyDoc as IHtmlDocument2
...
set MyDoc = Inspector.HtmlEditor

I am not sure I understand your question, as simple as it sounds.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

Ram said:
Hi,
explain me how to use
Inspector.HtmlEditor property to get IHtmlDocument2
interface.

--
Regards,

RamakoteswaraRao Koti

You can load the HTML into the IHTMLDocument2 object and use DOM to
modify
it or, if the item is already being displayed in an HTML editor, use thee
Inspector.HTMLEditor property to retrive IHTMLDocument2 interface.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

One of the problems I had in an add in recently was that modifying the
Body property was naturally messing with HTML formatting and appending
to
the HTMLBody property does not have the desired effect because you need
to
"inject" into the HTML.

So I just used a very simple Regex replace to effectively insert
text
at
the beginning of the message (you could do the same thing with the
end).

string htmlBody = email.HTMLBody;
htmlBody = Regex.Replace( htmlBody, "<body[^>]*?>", "$&" +
whateverYouWant );
email.HTMLBody = htmlBody;

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com



hi,

How to change the mail message body. When i am click send option,
i
have to add some more info at the end of the mail and will be send.

how can i solve this. i am using vc++6.0 and Outlook2000

Thanks in advance
 
Back
Top