我正在使用VB.NET中的Mail App。邮件应用程序分两步发送邮件:
1.将电子邮件正文(rtf)转换为HTML
2.然后将转换后的HTML作为电子邮件正文发送
对于这些,我使用 EASendMail(发送电子邮件),Itenso RTF2HTML转换器(将RTF转换为HTML)。现在我的电子邮件正文基本上是一个RichTextBox(bodytxt.text)。使用的代码是:
Imports Itenso.Rtf.Converter.Html
Imports EASendMail
Imports Itenso.Rtf.Support
Imports Itenso.Rtf
Dim rr As String = bodytxt.Rtf.Replace("\0", "")
Dim rtfDocument As IRtfDocument = RtfInterpreterTool.BuildDoc(rr)
Dim htmlConverter As New RtfHtmlConverter(rtfDocument)
Dim html1 As String = htmlConverter.Convert()
Dim oMail As New SmtpMail("TryIt")
Dim oSmtp As New EASendMail.SmtpClient()
oMail.From = fromtxt.Text
oMail.To = New AddressCollection(totxt.Text)
oMail.Subject = subjecttxt.Text
oMail.HtmlBody = html1
Dim oServer As New SmtpServer(MailConfig.host.Text)
oServer.Port = MailConfig.port.Text
oServer.ConnectType = SmtpConnectType.ConnectSSLAuto
oServer.User = fromtxt.Text
oServer.Password = MailConfig.password.Text
Dim r As Integer
If ListBox1.Items.Count <= 0 Then
Else
oMail.AddAttachment(ListBox1.Items(r))
End If
oSmtp.LogFileName = Application.StartupPath & "\maillog.OFPTX"
oSmtp.SendMail(oServer, oMail)
现在这段代码工作正常,并将电子邮件发送为HTML维护所有文本格式。问题是,假设我在富文本框中添加了一个图像,然后发送了图像,但无法从我的邮件客户端的收件箱中打开/查看该图像。在Gmail中,它显示为损坏的图像和&#34;在新标签页中打开图片&#34;显示&#34;我们无法显示此图像&#34; ...
1.我做错了什么?如何将图像作为附件而不是电子邮件正文的一部分发送?
2.我的代码可以改进吗?
答案 0 :(得分:0)
好的,所以我多次处理过这个问题。当您将图像拖到富文本框中时,它可能只是在那里生活了#34;在记忆中。
富文本框中的标记是什么样的?通常,有两种方法可以解决这个问题,因为Web应用程序涉及可以拖动图像的富文本框(或任何应用程序):