
- Dodawanie regularnych załączników
- Dodawanie osadzonych załączników
- Dodawanie załączników odniesionych
- Dodawanie osadzonych wiadomości
- Zapisywanie wszystkich załączników do MSG jako osobne pliki
Załączniki e-mail są plikami, które są wysyłane wraz z wiadomością e-mail, umożliwiając użytkownikom dzielenie się dokumentami, obrazami, filmami lub innymi treściami cyfrowymi. Efektywne zarządzanie załącznikami e-mail jest kluczowym aspektem nowoczesnych systemów komunikacji, a dla programistów C# poszukujących solidnego rozwiązania do ich zarządzania w swoich aplikacjach.
C# .NET API do zarządzania załącznikami e-mail
Aby przetwarzać załączniki e-mail, użyjemy Aspose.Email for .NET, potężnego i wszechstronnego API zaprojektowanego dla programistów C#, aby pracować z wiadomościami e-mail i różnymi powiązanymi zadaniami w swoich aplikacjach .NET. Oferuje szeroki zakres funkcji do tworzenia, przetwarzania, konwertowania i zarządzania wiadomościami, co czyni go cennym narzędziem dla firm i programistów, którzy potrzebują integrować możliwości e-mail w swoich aplikacjach. Aby skorzystać z mocy API, pobierz jego DLL lub zainstaluj go z NuGet.
Dodawanie regularnych załączników
Regularne załączniki to samodzielne pliki, które są dołączane do wiadomości e-mail, zazwyczaj wyświetlane jako oddzielne ikony lub linki w treści.

Intuicyjne API Aspose.Email pozwala na dodanie regularnego załącznika do wiadomości w zaledwie kilku linijkach kodu. Z poniższymi krokami i przykładem kodu stworzysz przykładową wiadomość e-mail (MSG) i dodasz do niej załącznik plikowy (“document.pdf”) przy użyciu klasy MapiMessage w C#:
- Utwórz lub załaduj MapiMessage.
- Przeczytaj zawartość “document.pdf” do tablicy bajtów.
- Dodaj załącznik z nazwą (“document.pdf”) i danymi do kolekcji Attachments wiadomości.
// Create a sample MSG and add document.pdf file as attachment | |
var msg = new MapiMessage("user1@from.com", "user2@to.com", "This is subject", "This is body"); | |
var data = File.ReadAllBytes("document.pdf"); | |
msg.Attachments.Add("document.pdf", data); |
Dodawanie osadzonych załączników
Osadzone załączniki mają być wyświetlane w treści samej wiadomości e-mail. Często używa się ich do osadzania obrazów lub innych mediów bezpośrednio w treści e-maila, co pozwala odbiorcy na obejrzenie treści bez potrzeby otwierania oddzielnego załącznika.

Obraz w treści wiadomości jest osadzonym załącznikiem. API Aspose.Email pozwala na sprawdzenie, czy załącznik jest osadzony przed wykonaniem innych manipulacji z nim, a poniższy przykład kodu demonstruje, jak wykonać to zadanie.
- Załaduj wiadomość e-mail z pliku przy użyciu metody MapiMessage.Load().
- Iteruj przez kolekcję jej załączników.
- Dla każdego załącznika w kolekcji, wypisz ich nazwy wyświetlane wraz z wartościami boolean wskazującymi, czy są osadzone, czy regularne.
// Check if the Attachment is Inline or Regular | |
var msg = MapiMessage.Load("message.msg"); | |
foreach (var attach in msg.Attachments) | |
{ | |
Console.WriteLine($"{attach.DisplayName} : {attach.IsInline}"); | |
} |
Dodawanie załączników odniesionych
Załączniki odniesione nie zawierają rzeczywistej zawartości pliku w wiadomości e-mail. Zamiast tego zawierają linki do zewnętrznych zasobów, takich jak obrazy hostowane na serwerze internetowym. Kiedy odbiorca otwiera e-mail, jego klient lub przeglądarka internetowa pobiera te zasoby z określonych URL-i, aby wyświetlić treść. Dzięki temu użytkownik może wysłać wiadomość z linkiem do pliku przechowywanego w Google Drive. Zamiast dołączać dokument bezpośrednio do wiadomości, możesz utworzyć załącznik linkowy, który prowadzi do pliku na Google Drive.

Poniższy przykład kodu demonstruje, jak stworzyć wiadomość z załącznikiem odniesionym:
- Utwórz lub załaduj obiekt MapiMessage.
- Dodaj załącznik odniesiony do wiadomości przy użyciu metody MapiAttachmentCollection.Add, podając nazwę pliku, URL pliku, URL folderu i nazwę dostawcy.
- Ustaw typ uprawnień dla załącznika przy użyciu metody MapiAttachment.SetProperty, aby określić, kto może go edytować.
- Opcjonalnie możesz ustawić dodatkowe właściwości, takie jak oryginalny typ uprawnień, czy załącznik jest folderem, adres URL punktu końcowego dostawcy, adres URL podglądu i adres URL miniatury.
- Zapisz wiadomość do pliku przy użyciu metody Save.
// Create a message | |
var msg = new MapiMessage("from@domain.com", "to@domain.com", "Outlook message file", | |
"This message with the Reference Attachment", OutlookMessageFormat.Unicode); | |
// Add reference attachment | |
msg.Attachments.Add("Document.pdf", | |
"https://drive.google.com/file/d/1HJ-M3F2qq1oRrTZ2GZhUdErJNy2CT3DF/", | |
"https://drive.google.com/drive/my-drive", | |
"GoogleDrive"); | |
//Also, you can set additional attachment properties | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentPermissionType, AttachmentPermissionType.AnyoneCanEdit); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentOriginalPermissionType, 0); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentIsFolder, false); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentProviderEndpointUrl, ""); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentPreviewUrl, ""); | |
msg.Attachments[0].SetProperty(KnownPropertyList.AttachmentThumbnailUrl, ""); | |
// Finally save the message | |
msg.Save(@"my.msg"); |
Dodawanie osadzonych wiadomości
Osadzone wiadomości to te, które są dołączone lub zagnieżdżone w innej wiadomości e-mail. Mogą zawierać własną zawartość, załączniki i metadane, a zazwyczaj są zamknięte w treści lub jako załączniki wiadomości nadrzędnej.
Koncepcja ta jest powszechnie stosowana w scenariuszach takich jak przekazywanie lub odpowiadanie na wiadomości e-mail, gdzie oryginalna wiadomość jest uwzględniona jako część nowej wiadomości. W takich przypadkach oryginalna wiadomość staje się osadzoną w treści nowej wiadomości, zachowując swoją własną zawartość, w tym nadawcę, odbiorców i temat. Ta funkcjonalność jest fundamentalna dla komunikacji e-mail i umożliwia użytkownikom utrzymanie spójnego wątku konwersacji podczas wymiany wiadomości.

Aspose.Email dostarcza komponenty do implementacji tej funkcjonalności. Poniższy przykład kodu z krokami demonstruje, jak dodać obiekt osadzony do wiadomości e-mail:
- Utwórz instancję klasy MapiMessage.
- Załaduj istniejącą wiadomość z pliku przy użyciu metody MapiMessage.Load().
- Dodaj załadowaną wiadomość jako załącznik do wcześniej utworzonej. Użyj do tego metody MapiAttachmentCollection.Add.
var msg = new MapiMessage("from@test.com", "to@test.com", "Subj", "This is a message body"); | |
var attachMsg = MapiMessage.Load("Weekly report.msg"); | |
msg.Attachments.Add("Weekly report", attachMsg); |
Zapisywanie wszystkich załączników do MSG jako osobne pliki
Poniższy przykład kodu pokaże Ci, jak załadować wiadomość e-mail z pliku i zapisać każdy indywidualny załącznik z wiadomości do osobnego pliku z jego oryginalną nazwą pliku.
- Utwórz instancję klasy MapiMessage.
- Iteruj przez kolekcję załączników załadowanej wiadomości.
- Dla każdego załącznika zapisz go jako osobny plik przy użyciu metody Save, upewniając się, że każdy załącznik jest zapisywany z jego oryginalną nazwą pliku.
// Create an instance of MapiMessage from file | |
var msg = MapiMessage.Load("message.msg"); | |
// Iterate through the attachments collection | |
foreach (var attachment in msg.Attachments) | |
{ | |
// Save the individual attachment | |
attachment.Save(attachment.FileName); | |
} |
Podsumowanie
W tym artykule zbadaliśmy praktyczną implementację dodawania różnych rodzajów załączników i osadzonych obiektów do wiadomości e-mail, zapisywania załączników do osobnych plików w C#, dostarczając zwięzłe przykłady kodu ilustrujące procesy. Aspose.Email for .NET wyłania się jako wszechstronne rozwiązanie, umożliwiające programistom efektywne zarządzanie załącznikami e-mail i wzmacnianie zadań komunikacyjnych w swoich aplikacjach, zapewniając spójną i płynną obsługę dla użytkowników końcowych.
Darmowe zasoby:
- forum wsparcia, aby zadawać pytania, szukać pomocy i angażować się w społeczność w celu rozwiązania problemów lub zdobycia informacji na temat skutecznego korzystania z biblioteki
- obszerna dokumentacja, która kompleksowo obejmuje różne aspekty funkcjonalności biblioteki z dostępem do odniesień API, samouczków, przykładów kodu i najlepszych praktyk
- informacyjny blog obejmujący szeroki zakres tematów związanych z zarządzaniem e-mailami, obsługą załączników i innymi powiązanymi tematami, zawierający spostrzeżenia, wskazówki i aktualizacje dotyczące najnowszych funkcji i rozwoju w ekosystemie Aspose.Email
- darmowe aplikacje zaprojektowane w celu zwiększenia zarządzania e-mailem i produktywności dla użytkowników na różnych platformach