目前我们正在使用MAPI从我们的应用程序发送纯文本电子邮件.当用户调用此函数时,我们指定对话框标志,以便电子邮件将显示在他们的电子邮件客户端中,然后他们可以修改并发送它.
我们想要修改电子邮件并以HTML格式发送.
根据此链接,MSDN链接MAPI不适用于此/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详细信息并不是一个真正的选择.我想我们会坚持使用纯文本电子邮件.
谢谢
如果觉得《delphi 发送html邮件 delphi – 以HTML格式发送电子邮件》对你有帮助,请点赞、收藏,并留下你的观点哦!