2011-01-13 113 views
1
Dim x As String 
x = "http://www.domain.com/aaa/test/default2.aspx?date=" & now.Text & "&tfname=" & p1fname.Text & "&tlname=" & p1lname.Text & "&comp=" & Request.QueryString("comp") 

Dim objEmail As New MailMessage() 
objEmail.To = "[email protected]" 
objEmail.From = "[email protected]" 
objEmail.Cc = "[email protected]" 
objEmail.Subject = "Test Email" 
objEmail.Body = x 
SmtpMail.SmtpServer = "mail.domain.com" 
Try 
    SmtpMail.Send(objEmail) 
Catch exc As Exception 
    Response.Write("Send failure: " + exc.ToString()) 
End Try 

当我的电子邮件它带有尝试与查询字符串链接发送电子邮件

http://www.domain.com/aaa/test/default2.aspx?date=1/13/2011

为纽带

,其余为文本

11:39 :09 AM & tfname = sadasd & tlname = asd & comp = GWI

回答

3

每当你把一个参数转换成一个查询字符串,你应该使用System.Web.HttpUtility.UrlEncode避免无效字符进入该网址进行编码:

x = "http://www.domain.com/aaa/test/default2.aspx?date=" & HttpUtility.UrlEncode(now.Text) & 
    "&tfname=" & HttpUtility.UrlEncode(p1fname.Text) & 
    "&tlname=" & HttpUtility.UrlEncode(p1lname.Text) & 
    "&comp=" & HttpUtility.UrlEncode(Request.QueryString("comp")) 
2

在查询字符串中不能有空格,如果需要放置空格,请在追加查询字符串之前将其替换为%20。尽管这样做的理想方法是对查询字符串中的文本进行加密和解密。

+0

即使我把它作为HTML – MyHeadHurts 2011-01-13 16:53:37

+0

或使用System.Web.HttpUtility.UrlEncode – 2011-01-13 16:53:50

相关问题