Web メール アプリケーションを作成しましたが、添付ファイルを表示および保存するにはどうすればよいですか?
サードパーティの dll であるOpenPopを使用しています。添付ファイル付きのメールを送信したり、添付ファイルなしでメールを読んだりできます。
これはうまくいきます:
Pop3Client pop3Client = (Pop3Client)Session["Pop3Client"]; // Creating newPopClient
int messageNumber = int.Parse(Request.QueryString["MessageNumber"]);
Message message = pop3Client.GetMessage(messageNumber);
MessagePart messagePart = message.MessagePart.MessageParts[1];
lblFrom.Text = message.Headers.From.Address; // Writeing message.
lblSubject.Text = message.Headers.Subject;
lblBody.Text=messagePart.BodyEncoding.GetString(messagePart.Body);
このコードの 2 番目の部分は添付ファイルの内容を表示しますが、これはテキスト ファイルの場合にのみ役立ちます。添付ファイルを保存できるようにする必要があります。また、ここにあるコードの一番下のセクションにはメッセージの本文が書かれているため、添付ファイルを受け取った場合、メッセージの本文を表示できません。
if (messagePart.IsAttachment == true) {
foreach (MessagePart attachment in message.FindAllAttachments()) {
if (attachment.FileName.Equals("blabla.pdf")) { // Save the raw bytes to a file
File.WriteAllBytes(attachment.FileName, attachment.Body); //overwrites MessagePart.Body with attachment
}
}
}