2011-09-19 34 views
3

即时消息尝试做的是添加一个超链接到vb.net中的电子邮件正文。当我发送电子邮件时,即时通讯的链接是文本。这是我在下面做的事情。任何帮助将非常感激。如何使用vb.net将超链接放入电子邮件正文

'Accepts two parameters - the username and password for the email client 
    Dim credentials As New System.Net.NetworkCredential("[email protected]", "test") 

    smtpClient.Credentials = credentials 
    Dim body, link As String 

    link = "http://localhost:" & partUrl & "/test.aspx?autoNum=" & autoNum 
    body = "Test email." & "<br/><br/>" 

    body += link 

    Dim email As New MailMessage 
    email.From = New MailAddress("[email protected]") 
    email.Body = body 
    email.Subject = "test Change/Request Password" 
    email.To.Add(New MailAddress(toAddress)) 

    smtpClient.Send(email) 

回答

6

您需要将其封装在一个标签。

link = "<a href=""http://localhost:" & partUrl & "/test.aspx?autoNum=" & autoNum & """>Click here</a>" 

而且你需要设置

email.IsBodyHtml = true 
+0

感谢的人,它完美地工作 – Will

0

试试这个:

link = "<a href=""http://localhost:" & partUrl & "/test.aspx?autoNum=" & autoNum & """>Link</a>" 
body = "Test email." & "<br/><br/>" 
body += link 

的想法(我现在不能测试它,对不起)是你必须不添加URL本身,而是使用的HTML代码来创建链接。
记得设置邮件正文与email.IsBodyHtml = True

0

我相信你需要设置

IsBodyHtml = True 

然后你就可以在电子邮件的正文中使用纯HTML为HTML。邮件客户端仍然需要正确显示它。我遇到过几种情况:在我的浏览器中创建的有效HTML在我的电子邮件中很混乱。

0

您尚未将本体标识为HTML。

地址:

email.IsBodyHtml = true 
相关问题