
Podczas wysyłania wiadomości e-mail możesz potrzebować przesłać multimedia, takie jak obrazy, audio i wideo. Tutaj wchodzą w grę wiadomości MIME (Multipurpose Internet Mail Extensions). W tym artykule omówimy, jak programowo tworzyć wiadomości EML w C#. Do końca artykułu zrozumiesz jak tworzyć wiadomości MIME, dodawać obrazy do treści HTML wiadomości e-mail i zapisywać e-mail w formacie EML.
- .NET API do tworzenia wiadomości MIME
- Utwórz plik EML od podstaw
- Dodaj obraz do treści HTML
- Utwórz plik EML z pliku HTML
- Wskazówki dotyczące poprawy wyświetlania wiadomości HTML w Outlooku
.NET API do tworzenia wiadomości MIME
Zanim stworzysz swoją pierwszą wiadomość MIME, pierwszym krokiem jest zainstalowanie Aspose.Email for .NET w swoim projekcie. To potężna biblioteka dla programistów C#, która oferuje kompleksowy zestaw narzędzi do pracy z wiadomościami e-mail, w tym możliwość programowego tworzenia wiadomości MIME. Biblioteka umożliwia programistom łatwe manipulowanie różnymi aspektami wiadomości MIME, takimi jak załączniki, treść, nagłówki, kodowanie i inne. Możesz zainstalować bibliotekę za pośrednictwem NuGet lub pobrać jej DLL.
PM> Install-Package Aspose.Email
Utwórz plik EML od podstaw
Ponieważ twoje API zostało zainstalowane, czas na stworzenie swojego pierwszego eml od podstaw. Jednym z najprostszych sposobów jest użycie klasy MailMessage z Aspose.Email. Klasa MailMessage pozwala na tworzenie obiektu wiadomości e-mail z różnymi właściwościami i metodami, które pozwalają ustawić nadawcę, odbiorców, temat, treść, załączniki, nagłówki i inne szczegóły twojego e-maila.
Następujące kroki oraz fragment kodu pomogą ci stworzyć EML od podstaw:
- Utwórz nowy obiekt MailMessage za pomocą domyślnego konstruktora.
- Ustaw właściwości obiektu MailMessage zgodnie z twoimi potrzebami.
- Zapisz obiekt MailMessage do pliku EML za pomocą metody Save.
Metoda Save klasy MailMessage przyjmuje dwa parametry: ścieżkę do pliku oraz opcje zapisu. Opcje zapisu określają format pliku wyjściowego.
Dodaj obraz do treści HTML
Aby wykonać tę funkcję, musisz osadzić obraz w treści HTML. Możesz użyć tagu “img”, aby to zrobić.
Następujący fragment kodu pokazuje, jak dodać obraz do treści HTML wiadomości.
- Treść HTML zawiera tag obrazu z atrybutem źródłowym ustawionym na
cid:image1
. - Klasa AlternateView jest używana do uzyskania alternatywnego widoku treści wiadomości, który zawiera osadzony obraz.
- Klasa LinkedResource jest używana do reprezentowania osadzonego obrazu, a jego identyfikator treści jest ustawiony na
image1
. - Na koniec alternatywny widok jest dodawany do kolekcji alternatywnych widoków wiadomości.
Utwórz plik EML z pliku HTML
Jednym ze sposobów jest rozpoczęcie od pliku HTML i konwersja go na EML. To może być przydatne, jeśli masz HTML, który chcesz wysłać jako wiadomość e-mail.
W tym celu najpierw potrzebujemy zawartości HTML. Nazwijmy ten plik content.html
. Oto jego przykład:
<!DOCTYPE html>
<html>
<head>
<title>Moja wiadomość e-mail</title>
</head>
<body>
<h1>Cześć,</h1>
<img src="logo.png" alt="Logo">
<p>To moja pierwsza wiadomość e-mail utworzona z HTML.</p>
</body>
</html>
Musisz także wcześniej przygotować wszystkie obrazy, które zawiera HTML, i określić do nich poprawną ścieżkę w pliku HTML.
Teraz możemy łatwo utworzyć MailMessage, ustawiając treść HTML z content.html
.
- Najpierw stwórz nowy obiekt HtmlLoadOptions.
- Ustaw ciąg, który zawiera ścieżkę do obrazów w PathToResources.
- Ustaw właściwość ShouldAddPlainTextView na true, jeśli EML powinien zawierać AlternateView z tekstem zwykłym.
- Utwórz obiekt MailMessage ładując plik HTML i przekazując obiekt HtmlLoadOptions jako parametr.
- Ustaw dodatkowe właściwości wiadomości.
- Na koniec zapisz obiekt MailMessage do pliku EML za pomocą metody Save.
Wskazówki dotyczące poprawy wyświetlania wiadomości HTML w Outlooku
Aby wyświetlić swoją wiadomość HTML w Outlooku, musisz upewnić się, że jej kod jest zgodny z silnikiem renderującym Outlooka, który różni się od większości przeglądarek internetowych. Niektóre z powszechnych problemów, które mogą wpłynąć na twój e-mail HTML w Outlooku, to:
- Outlook nie obsługuje niektórych tagów i właściwości CSS, takich jak obrazy tła, pływające elementy, marginesy, padding itp. Możesz potrzebować użyć stylów inline, tabel lub warunkowych komentarzy, aby osiągnąć pożądany układ i formatowanie.
- Outlook może dodać dodatkowe spacje lub linie między elementami lub usunąć niektóre elementy całkowicie. Możesz potrzebować użyć spacji niełamiących, spacji o zerowej szerokości lub pustych komórek tabeli, aby temu zapobiec.
- Outlook może zmienić kodowanie lub zestaw znaków twojego pliku HTML, co może spowodować, że niektóre znaki będą wyświetlane niepoprawnie. Możesz potrzebować określić kodowanie i zestaw znaków w nim za pomocą tagu meta.
Podsumowanie
W tym wpisie na blogu nauczyłeś się, jak programowo tworzyć wiadomości MIME w C# za pomocą Aspose.Email. Krok po kroku samouczek i próbki kodu pokazały, jak stworzyć plik EML od podstaw i z pliku HTML, dodać obraz do treści HTML wiadomości e-mail oraz wspierały wszystkie powyższe z użytecznymi wskazówkami, jak poprawić wygląd twojej wiadomości HTML w Outlooku.
- Możesz odkryć więcej o Aspose.Email for .NET i wypróbować go za darmo.
- Możesz również sprawdzić więcej funkcji i możliwości Aspose.Email w dokumentacji.
- Twoje pytania są mile widziane na naszym forum.