C#.NET
public string GetHeaderString(System.IO.Stream MailStream)
{
System.Text.Encoding encode = System.Text.Encoding.GetEncoding("iso-2022-jp");
System.IO.StreamReader sr = new System.IO.StreamReader(MailStream , encode);
string mailstring = sr.ReadToEnd();
int headersize = mailstring.IndexOf("\r\n\r\n");
string header = mailstring.Substring(0 , headersize);
return header;
}
VB.NET
Public Function GetHeaderString(ByVal MailStream As System.IO.Stream) As String
Dim encode As System.Text.Encoding = System.Text.Encoding.GetEncoding("iso-2022-jp")
Dim sr As New System.IO.StreamReader(MailStream, encode)
Dim mailstring As String = sr.ReadToEnd()
Dim headersize As Integer = mailstring.IndexOf(ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf)
Dim header As String = mailstring.Substring(0, headersize)
Return header
End Function
VB.NETのコードはC#.NETを元に「
C#.NET to VB.NET Translator」によって作成したものです
すでに読み込み済みのストリームから取り出す場合は、独自にコードを作成する必要があります。 ヘッダ部分と本文の間には空白行が必ず存在するので、「CR+LF+CR+LF」を目印にヘッダ部分だけを切り分けます。 次のサンプルでは、メールストリームを一旦文字列に読み直した後、ヘッダ部分までの検索を行なっています。