NewAutoUser
NewAutoUser

Reputation: 573

How to create a table in outlook mail body programmatically

I am developing some program in C# which will send the mail using outlook 2007. For this I wish to create a table in mail body and need to show the required data in it. Can anyone let me know how we can create a table programmatically in mail body.

Upvotes: 3

Views: 18335

Answers (3)

Daniel Buckley
Daniel Buckley

Reputation: 1

Try this

using outlook = Microsoft.Office.Interop.Outlook;

string emailSubject = "Subject of email";   
string htmlString = "<table><tr><td>Hi</td></tr></table>";

outlook.Application outlookApp = new outlook.Application();
outlook.MailItem mailItem = (outlook.MailItem)outlookApp.CreateItem(outlook.OlItemType.olMailItem);
mailItem.Subject = emailSubject;
mailItem.HTMLBody = htmlString;
mailItem.To = "[email protected]";

mailItem.Save();

This will create a new message in your Outlook > Drafts folder with a single row table that says "Hi"

Upvotes: 0

Tausif Meman
Tausif Meman

Reputation: 49

For creating a table you can use HTML table tag.

<table><tr>....</tr></table>.

Here is the code:

MailMessage msg = new MailMessage("[email protected]", "[email protected]");
msg.IsBodyHTML = true;
msg.Subject = "Subject line here";
msg.Body = "<table border=1><tr><td>one</td></tr><tr><td>two</td></tr>";

SmtpClient mailClient = new SmtpClient("YourEmailServer");
mailClient.Send(msg);

Hope this will be helpful for you.

Upvotes: 4

Neil N
Neil N

Reputation: 25258

Just output the data in a standard HTML table.

Then send it as an HTML email instead of plain text. Here's a quick and dirty example in C#:

MailMessage msg = new MailMessage("[email protected]", "[email protected]");
msg.IsBodyHTML = true;
msg.Subject = "Subject line here";
msg.Body = "html goes here";

SmtpClient mailClient = new SmtpClient("YourEmailServer");
mailClient.Send(msg);

Upvotes: 8

Related Questions