В настоящее время мы используем MAPI для отправки простого электронного письма из нашего приложения. Мы указываем флаг диалога, когда пользователь вызывает эту функцию, чтобы электронное письмо появилось в его почтовом клиенте, а затем они могли изменить его и отправить.
Мы хотели бы украсить письмо и отправить его в формате HTML.
По этой ссылке MSDN ссылка MAPI не подходит для этого http://support.microsoft.com/kb/268440
Я видел статью на ExpertsExchange, в которой говорится, что вы можете использовать MAPI для этого, но я не могу получить пример для работы с Outlook (еще не пробовал другой клиент)
procedure ShowMailDlg(ToName,Address,HTMLMessage: string);
var
li: integer;
lMessage: TMapiMessage;
lRecipArray: array of TMapiRecipDesc;
lREs: DWord;
begin
SetLength(lRecipArray,1);
lRecipArray[0].ulRecipClass:=MAPI_TO;
lRecipArray[0].lpszName:=pChar(ToName);
lRecipArray[0].lpszAddress:=pChar(Address);
lMessage.ulReserved:=0;
lMessage.lpszSubject:=nil;
lMessage.lpszNoteText:=pChar(HTMLMessage);
lMessage.lpszMessageType:= nil;//pChar('HTML');
lMessage.lpszDateReceived:=nil;
lMessage.lpszConversationID:=nil;
lMessage.flFlags:=0;
lMessage.lpOriginator:=nil;
lMessage.nRecipCount:=length(lRecipArray);
lMessage.lpRecips:=PMapiRecipDesc(lRecipArray);
lMessage.nFileCount:=0;
lMessage.lpFiles:=PMapiFileDesc(nil);
lRes:=MapiSendMail(0, 0 , lMessage,MAPI_DIALOG, 0);
end;
У кого-нибудь есть идеи, как я могу это сделать. Возможно, я мог бы автоматизировать Outlook, но я бы хотел, чтобы он не зависел от почтового клиента (следовательно, MAPI)
Спасибо
Обновление: спасибо всем за предложения. Эта особенность заключается в том, что вопрос не так интенсивно используется, поэтому попросить пользователя настроить детали SMTP на самом деле не вариант. Я думаю, что мы будем просто придерживаться простого текста по электронной почте.
Спасибо