Mega Code Archive

 
Categories / Delphi / Examples
 

Compose an html email with outlook from delphi

Question: I need to send an HTML formatted email with Outlook. Answer: Take a look at the procedure below. Only in the newer versions of Outlook (98, 2000 and newer) you can send HTML-formatted emails. This works by assigning the HTML as a string to the MailItem's HTMLBody property instead of the Body property. Outlook 97 doesn't support this. If you use Delphi 5, you should place an OutlookApplication component on your form. Then you can use early binding which is safer and faster. Instead of using type variant you could be using types like MAPIFolder, MailItem etc. The example below uses no type library. The advantage is that you are more likely to get it compiled right away. The disadvantage is that you are less likely to get it working right away. uses Windows, ComObj, ActiveX; const olMailItem = 0; var Outlook, NmSpace, Folder: OleVariant; miMail: Variant; begin Outlook := CreateOleObject('Outlook.Application'); miMail := Outlook.CreateItem(olMailItem); miMail.Recipients.Add('billy@boy.com'); miMail.Subject := 'Hello Bill'; // use this to send a plain text email (all versions of Outlook) miMail.Body := 'Attached is the list of email addresses.'; // alternatively send an HTML email (not in Outlook 97) miMail.HTMLBody := '<font color=red>Attached is the <b>list of email</b> addresses.</font>'; miMail.Attachments.Add('C:\temp\list.txt', EmptyParam, EmptyParam, EmptyParam); miMail.Send; //... end;