【发布时间】:2011-01-25 04:18:27
【问题描述】:
我有一个 ASP.Net 应用程序,它允许用户将文本写入 Telerik RadEditor 控件,然后发送电子邮件。
出于某种原因,我有时会在生成的电子邮件中出现奇怪的字符。
例如,如果我将单词 Test's 放入 RadEditor 框中并发送...电子邮件会显示,文本更改为:Test's。
似乎使用 ' 字符代替了 ',因为如果我使用后者,文本会显示得很好。如果我在 ASP.Net 应用程序界面中提取保存的记录,它看起来就很好。当我查看它所存储的 MS SQL 表的记录中的文本时,它看起来也很好。
我正在使用 MailMessage 创建电子邮件。在我使用 SmtpClient 发送消息之前,我已经检查了正在发送的字符串,它在他的点上看起来很好。但是,一旦电子邮件显示出来,我就会收到奇怪的文字(测试)。
我猜我遇到了编码/解码问题,但我不确定如何解决这个问题。
有人有什么想法吗?
谢谢!
继续--->
我尝试将它添加到我的电子邮件类的构造函数中,有/没有 mybase,但没有效果。
Public Sub New(ByVal EmailDate As DateTime, ByVal LogoPath As String)
MyBase.New()
MyBase.BodyEncoding = Encoding.GetEncoding("iso-8859-1")
‘BodyEncoding = Encoding.GetEncoding("iso-8859-1")
Me.EmailDate = EmailDate
Me.LogoPath = LogoPath
End Sub
我还尝试在创建新的 SmtpClient 之前将其添加到调用电子邮件类的表单后面的代码中,但这似乎也不正确。
Try
returnEmail.BodyEncoding = Encoding.GetEncoding("iso-8859-1")
Dim smtpCli As New SmtpClient
smtpCli.Send(returnEmail)
Catch ex As Exception
ScriptManager.RegisterStartupScript(Me, Me.GetType, "smtpError", "alert('There was an error sending the email:\n* " & ex.Message & "');", True)
End Try
【问题讨论】:
标签: asp.net vb.net encoding character-encoding smtp