2

私はVB.NETでメールアプリに取り組んでいます。メール アプリは、次の 2 つの手順でメールを送信します。

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 では、壊れた画像として表示され、「新しいタブで画像を開く」 " show "この画像は表示できません"...

1.何が間違っているのですか?画像を添付ファイルとしてではなく、メール本文の一部として送信するにはどうすればよいですか?

2.コードを改善できますか?

4

1 に答える 1