So speichern Sie E-Mail-Anhänge mit OpenPop
Ich habe eine Web-E-Mail-Anwendung erstelltAussicht undsparen angehängte Dokumente?
ich benutzeOpenPopAls DLL eines Drittanbieters kann ich E-Mails mit Anhängen senden und E-Mails ohne Anhänge lesen.
Das funktioniert gut:
<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>
Dieser zweite Teil des Codes zeigt den Inhalt des Anhangs an, dies ist jedoch nur dann sinnvoll, wenn es sich um eine Textdatei handelt. Ich muss es könnensparen der Anhang. Außerdem schreibt der untere Codeabschnitt, den ich hier habe, den Hauptteil meiner Nachricht. Wenn ich einen Anhang erhalte, kann ich den Hauptteil meiner Nachricht nicht anzeigen.
<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>