Microsoft Outlook将超链接添加到电子邮件C#

时间:2011-09-09 20:52:03

标签: c# winforms outlook

使用Microsoft Outlook发送电子邮件时,我希望能够在电子邮件正文中发送文件位置和网站的超链接,我的代码中的正文是oMsg.Body。任何帮助将不胜感激。

    private void button13_Click(object sender, EventArgs e)
    {
        //Send Routing and Drawing to Dan
        // Create the Outlook application by using inline initialization. 
        Outlook.Application oApp = new Outlook.Application();
        //Create the new message by using the simplest approach. 
        Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
        //Add a recipient
        Outlook.Recipient oRecip = (Outlook.Recipient)oMsg.Recipients.Add("email-address here");
        oRecip.Resolve();
        //Set the basic properties. 
        oMsg.Subject = textBox1.Text + " Job Release";
        oMsg.Body = textBox1.Text + " is ready for release attached is the Print and Routing";
        //Send the message. 6
        oMsg.Send();
        //Explicitly release objects. 
        oRecip = null;
        oMsg = null;
        oApp = null;
        MessageBox.Show("Print and Routing Sent");
    }

2 个答案:

答案 0 :(得分:7)

MSDN,看起来您可以将BodyFormat设置为olFormatHTML并使用HTMLBody属性:

oMsg.BodyFormat = olFormatHTML; // <-- Probably dont need this
oMsg.HTMLBody = "<HTML><BODY>Enter the message text here.</BODY></HTML>";

HTMLBody页面看,如果您使用BodyFormat属性,它会为您设置HTMLBody,因此您应该可以跳过设置。

答案 1 :(得分:5)

使用HTML代替正文而不是纯文本将允许您包含超链接的标记:

oMsg.HTMLBody = "<html><body>";
oMsg.HTMLBody += textBox1.Text + " is ready for release attached is the Print and Routing";
oMsg.HTMLBody += "<p><a href='http://website.com'>Web Site</a></p></body></html>";

编辑:将Body属性更改为HTMLBody属性。