私は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.コードを改善できますか?