2013-08-19 37 views
0

我是一個生成並向客戶發送HTML電子郵件的應用程序。這與除了某些字符(即)(& *%$#@ @! 〜; _ = +/- ? '不起作用。以下是我使用的代碼。請建議我如何在我的HTML電子郵件中允許使用這些特殊字符。某些字符不能在HTML電子郵件中工作VB

Sub subHtmlEmail(ByVal strAddresseeEmail As String, ByVal strGroup As String) 
    Try 
     Dim strTo, strFrom, strBody, strSubject, strBcc As String 
     Dim boolHtml As Boolean = True ' set the body content to plain text(false) or HTML(true) 
     strFrom = "[email protected]" 
     strTo = strAddresseeEmail ' ; Separates emails 
     strBcc = "" ' ; Separates emails 

     strSubject = txtEmailSubject.Text 

     strBody = "<html><head></head><body>" 
     strBody = strBody & "<img src=cid:Logo>" 
     strBody &= "<br><br>" 


     strBody &= "Dear " & clsGroupCustomers.RetrieveAddressee(strAddresseeEmail, strGroup) & ",<br><br>" 

     Dim strLines As String() = txtBody.Text.Split(New [Char]() {CChar(vbCrLf)}) 
     For Each strLine As String In strLines 
      strBody &= strLine & "<br>" 
     Next 

     strBody &= "<br><br>" 

     Dim strFooterLines As String() = txtFooter.Text.Split(New [Char]() {CChar(vbCrLf)}) 
     For Each strFooterLine As String In strFooterLines 
      strBody &= strFooterLine & "<br>" 
     Next 

     HTMLView = AlternateView.CreateAlternateViewFromString(strBody, Nothing, "text/html") 

     strBody &= "</body></html>" 

     subEmail(strFrom, strTo, strBcc, strSubject, strBody, boolHtml, strAddresseeEmail) 

    Catch ex As Exception 
     Cursor = Cursors.Default 
     MsgBox("An error has occurred in your application while attempting to create the email." & Chr(13) & Chr(13) & "Description: " & ex.Message & Chr(13) & Chr(13) & "Please contact your System Administrator.", MsgBoxStyle.Critical, "Application Error") 
     Exit Sub 
    End Try 
End Sub 

回答

1

在HTML中,這些字符應該被編碼。例如:&(&符號)應該排出爲&amp;

在.NET中,您可以撥打HttpContext.Current.Server.HtmlEncode(myStringValue)自動爲您執行此操作。

+0

謝謝隊友。我剛剛遇到System.Web.HttpUtility.HtmlEncode(myStringValue),這也起作用。 :) –

相關問題