Jak zapisać załącznik e-mail za pomocą OpenPop
Stworzyłem aplikację Web Email, Jak to zrobićwidok izapisać załączone pliki?
ja używamOpenPop, dll strony trzeciej, mogę wysyłać e-maile z załącznikami i czytać e-maile bez załączników.
Działa to dobrze:
<code>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); </code>
Ta druga część kodu wyświetla zawartość załącznika, ale jest to przydatne tylko wtedy, gdy jest to plik tekstowy. Muszę być w staniezapisać załącznik. Również dolna część kodu, który mam tutaj, pisze treść mojej wiadomości, więc jeśli otrzymam załącznik, nie mogę wyświetlić treści mojej wiadomości.
<code>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 } } } </code>