Reputation: 573
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
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
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
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