1

改行 (改行) を含む文字列を電子メールに送信するにはどうすればよいですか?

問題は、文字列を電子メールに送信していて、電子メールが改行を取り除いていることです。

Dim myApp As New Process

    emailStringBuilder.Append("mailto:")

    emailStringBuilder.Append("&subject=" & tmpID & " - " & subject)

    emailStringBuilder.Append("&body= " & msgStringBuilder.ToString)

    myApp = System.Diagnostics.Process.Start(emailStringBuilder.ToString)
4

3 に答える 3

1

テストしたばかりで、問題なく動作するので、改行なしでStringBuilderに追加していると思います。

Imports System.Text
Module Module1
    Sub Main()
        Dim sb As New StringBuilder
        sb.AppendLine("Line 1")
        sb.AppendLine("Line 2")
        sb.Append("Line 3" & vbCrLf)
        sb.Append("Line 4 without CRLF")
        sb.Append("Line 5")
        Console.WriteLine(sb.ToString)
    End Sub
End Module

上記のコードの場合、次の出力が得られます

Line 1
Line 2
Line 3
Line 4 without CRLFLine 5

お役に立てれば。

編集

さて、(電子メールに関する)新しい情報に基づいて、上記はまだ当てはまります。一緒にstringbuilderに追加すると、.Append改行が失われるか、より正確には表示されなくなります。.AppendLine代わりに、文字列の最後にすべての重要なCRおよびLFコードを追加するを使用する必要があります。

しかし、私はあなたがどのようにメールを送っているのか少し混乱しています。私はそれが以前にウェブページからこのように行われたのを見たことがありますが、vb.netからは決してありません。この方法でメールを送信すると、ほぼ確実に改行なしでメールを送信する必要があります。

System.Web.Mail名前空間を使用してVisualBasicから電子メールを送信する方法について、Microsoftからの以下を参照することをお勧めします。それは難しいことではなく、この方法で送信する電子メールをより細かく制御できるようになります。

Microsoftの例

于 2010-02-19T17:43:40.940 に答える
0

次のように、HTML 形式の本文を含む電子メールを送信することによっても、これを実現できます。

メッセージの本文が HTML 形式の場合は<br>、文字列にタグを追加します。vbCrLf本文が HTML 形式の場合は機能しStringBuilderません。

Dim mail As New MailMessage
mail.IsBodyHtml = True
mail.Body = "First Line<br>"
mail.Body += "Second Line<br>"
mail.Body += "Third Line"

HTML 形式でない場合は、vbCrLfまたはを使用しvbNewLineます。

Dim mail As New MailMessage
mail.Body = "First Line" & vbCrLf
mail.Body += "Second Line" & vbNewLine
mail.Body += "Third Line"
于 2016-05-12T20:47:44.790 に答える