如题 主要代码如下:
int nIndex = 0;
int nRecipients = 0;
MapiRecipDesc* pRecipients = NULL;
int nAttachments = 0;
MapiFileDesc* pAttachments = NULL;
ULONG status = 0;
MapiMessage message={0}; MapiRecipDesc* pSetFrom = NULL;
pRecipients = new MapiRecipDesc; pSetFrom = new MapiRecipDesc; pAttachments = new MapiFileDesc; if (pRecipients||pSetFrom)
{
// set from
pSetFrom->ulReserved = 0;
pSetFrom->ulRecipClass = MAPI_ORIG;
pSetFrom->lpszAddress = "[email protected]";
pSetFrom->lpszName = "[email protected]";//(LPTSTR)(LPCTSTR)m_from.begin()->second;
pSetFrom->ulEIDSize = 0;
pSetFrom->lpEntryID = NULL; pRecipients->ulReserved = 0;
pRecipients->ulRecipClass = MAPI_TO;
pRecipients->lpszAddress = "[email protected]";
pRecipients->lpszName = "[email protected]";//(LPTSTR)(LPCTSTR)m_to.begin()->second;
pRecipients->ulEIDSize = 0;
pRecipients->lpEntryID = NULL;
}
if (pAttachments)
{
// add attachments
pAttachments->ulReserved = 0;
pAttachments->flFlags = 0;
pAttachments->nPosition = -1;//0xFFFFFFFF;
pAttachments->lpszPathName = "C:\\ceshi.txt";
pAttachments->lpszFileName = "ceshi.txt";
pAttachments->lpFileType = 0;
} message.ulReserved = 0;
message.lpszSubject = "ceshi";
message.lpszNoteText = "fflskdjflsjflsd";
message.lpszMessageType = NULL;
message.lpszDateReceived = NULL;
message.lpszConversationID = NULL;
message.flFlags = 0;
message.lpOriginator = pSetFrom;
message.nRecipCount = 1; // don't count originator
message.lpRecips = pRecipients;
message.nFileCount = 1;
message.lpFiles = pAttachments; status = m_lpMapiSendMail(0, 0, &message, MAPI_DIALOG , 0); if (pRecipients)
delete pRecipients; if (nAttachments)
delete pAttachments; if (pSetFrom)
{
delete pSetFrom;
}
int nIndex = 0;
int nRecipients = 0;
MapiRecipDesc* pRecipients = NULL;
int nAttachments = 0;
MapiFileDesc* pAttachments = NULL;
ULONG status = 0;
MapiMessage message={0}; MapiRecipDesc* pSetFrom = NULL;
pRecipients = new MapiRecipDesc; pSetFrom = new MapiRecipDesc; pAttachments = new MapiFileDesc; if (pRecipients||pSetFrom)
{
// set from
pSetFrom->ulReserved = 0;
pSetFrom->ulRecipClass = MAPI_ORIG;
pSetFrom->lpszAddress = "[email protected]";
pSetFrom->lpszName = "[email protected]";//(LPTSTR)(LPCTSTR)m_from.begin()->second;
pSetFrom->ulEIDSize = 0;
pSetFrom->lpEntryID = NULL; pRecipients->ulReserved = 0;
pRecipients->ulRecipClass = MAPI_TO;
pRecipients->lpszAddress = "[email protected]";
pRecipients->lpszName = "[email protected]";//(LPTSTR)(LPCTSTR)m_to.begin()->second;
pRecipients->ulEIDSize = 0;
pRecipients->lpEntryID = NULL;
}
if (pAttachments)
{
// add attachments
pAttachments->ulReserved = 0;
pAttachments->flFlags = 0;
pAttachments->nPosition = -1;//0xFFFFFFFF;
pAttachments->lpszPathName = "C:\\ceshi.txt";
pAttachments->lpszFileName = "ceshi.txt";
pAttachments->lpFileType = 0;
} message.ulReserved = 0;
message.lpszSubject = "ceshi";
message.lpszNoteText = "fflskdjflsjflsd";
message.lpszMessageType = NULL;
message.lpszDateReceived = NULL;
message.lpszConversationID = NULL;
message.flFlags = 0;
message.lpOriginator = pSetFrom;
message.nRecipCount = 1; // don't count originator
message.lpRecips = pRecipients;
message.nFileCount = 1;
message.lpFiles = pAttachments; status = m_lpMapiSendMail(0, 0, &message, MAPI_DIALOG , 0); if (pRecipients)
delete pRecipients; if (nAttachments)
delete pAttachments; if (pSetFrom)
{
delete pSetFrom;
}
改成下面的语句试试:
pSetFrom->lpszAddress = "smtp:[email protected]";
这个用哪个API设置啊?可以给点提示吗????
MAPI必须首先定义好自己的账号(发送者),账号有各种属性,比如SMTP服务器、账号名、密码等等,MAPI需要这些信息跟SMTP服务器通信。你直接搞个其它的发送人,系统怎么通信去?