U
UTEK
have this chunk of code that creates an email body in outlook . If it is
regular text, it uses the PR_BODY_W property; if it is html format, then it
uses 0x1013001F(PR_BODY_HTML_W).
if (fishtml)
{
SPropValue vals;
SPropProblemArray *lpprob;
memset(&vals, 0, sizeof(SPropValue));
//vals.ulPropTag = PR_STORE_SUPPORT_MASK;
vals.ulPropTag = PR_MSG_STATUS;
vals.Value.l = 0x80000000;
hr = mapiprop->SetProps(1, &vals, &lpprob);
}
hr = mapiprop->OpenProperty((fishtml?0x1013001FR_BODY_W), &IID_IStream, 0,
MAPI_MODIFY|MAPI_CREATE, (IUnknown**)&lpistream);
if (SUCCEEDED(hr))
{
ULONG cnt = :SysStringLen(bsbody)+1) * sizeof(wchar_t);
ULONG cntwritten = 0;
lpistream->Write(bsbody, cnt, &cntwritten);
fsetbody = TRUE;
}
This works perfect in Outlook 2003. However, in Outlook 2007, the HTML mail
message always comes up blank while PR_BODY_W is fine.
I have also tried setting the PR_MSG_STATUS to
0x80000000(MSGSTATUS_HAS_PR_BODY_HTML
) , but it doesn't help. Any suugestions is greatly appreciated! Thank you
very much.
regular text, it uses the PR_BODY_W property; if it is html format, then it
uses 0x1013001F(PR_BODY_HTML_W).
if (fishtml)
{
SPropValue vals;
SPropProblemArray *lpprob;
memset(&vals, 0, sizeof(SPropValue));
//vals.ulPropTag = PR_STORE_SUPPORT_MASK;
vals.ulPropTag = PR_MSG_STATUS;
vals.Value.l = 0x80000000;
hr = mapiprop->SetProps(1, &vals, &lpprob);
}
hr = mapiprop->OpenProperty((fishtml?0x1013001FR_BODY_W), &IID_IStream, 0,
MAPI_MODIFY|MAPI_CREATE, (IUnknown**)&lpistream);
if (SUCCEEDED(hr))
{
ULONG cnt = :SysStringLen(bsbody)+1) * sizeof(wchar_t);
ULONG cntwritten = 0;
lpistream->Write(bsbody, cnt, &cntwritten);
fsetbody = TRUE;
}
This works perfect in Outlook 2003. However, in Outlook 2007, the HTML mail
message always comes up blank while PR_BODY_W is fine.
I have also tried setting the PR_MSG_STATUS to
0x80000000(MSGSTATUS_HAS_PR_BODY_HTML
) , but it doesn't help. Any suugestions is greatly appreciated! Thank you
very much.