VB2005で作ったメール送信プログラムで、メール本文が文字化けしてしまいます。
VB2005でメール送信プログラムを作ったのですが、送信したBODYが文字化けしてしまいます。どう修正すればよいか、教えてください。
以下がそのコードです。
Imports System.Net.mail
Public Class Form1
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Dim tc As Sockets.TcpClient
Dim ns As Sockets.NetworkStream
Dim stat As String
Dim mailData As String
Dim mailFrom As String = "", mailSubject As String = "", mailBody As String = ""
Dim r As Regex
Dim m As Match
Dim mailCount As Integer
Try
tc = New Sockets.TcpClient()
tc.Connect(txtPOP3Server.Text, 110)
ns = tc.GetStream
Dim buff(tc.ReceiveBufferSize) As Byte
ns.Read(buff, 0, tc.ReceiveBufferSize)
POP3Transmit(ns, "USER " & txtUserName.Text, False)
POP3Transmit(ns, "PASS " & txtPassword.Text, False)
stat = POP3Transmit(ns, "STAT", False)
r = New Regex("\+OK (.*) (.*)")
m = r.Match(stat)
mailCount = Val(m.Groups(1).Value)
If mailCount = 0 Then
MsgBox("メールはありません")
Else
mailData = POP3Transmit(ns, "RETR " & mailCount, True)
ParseMail(mailData, mailFrom, mailSubject, mailBody)
txtBody.Text = mailBody
txtFrom.Text = mailFrom
txtSubject.Text = mailSubject
End If
Dim smtpClt As New Net.Mail.SmtpClient("smtp.mail.yahoo.co.jp", 25)
Dim from As String = "****@yahoo.co.jp"
Dim toYou As String = DataGridView1(1, 0).Value
Dim subject As String = TextBox2.Text
Dim body As String = TextBox1.Text
Try
smtpClt.Send(from, toYou, subject, body)
Timer2.Enabled = True
ToolStripStatusLabel2.Text = "送信しました。"
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
POP3Transmit(ns, "QUIT", False)
ns.Close()
tc.Close()
Catch ex As Exception
MsgBox("メールの受信に失敗しました")
End Try
End Sub
End Class
お礼
nicotinism 様、早速のご回答ありがとうございました。 いろいろな参考の場所を教えていただいて、 不明だった点がたくさんわかりました。 ありがとうございました。 今後ともよろしくお願いします。