Wysyłam wiadomość przy użyciu C# przy użyciu klasy SmtpClient
. Robię następujące rzeczy przed wysłaniem wiadomości.Obrazy zerwania podczas wysyłania poczty za pomocą SmtpClient
var mailMessage = new MailMessage();
model.ToAddresses.ForEach(to => mailMessage.To.Add(to));
mailMessage.Subject = "Test Email - By Yasser";
mailMessage.Body = String.Format("{0}{1}{2}",
"<html><body>",
GetEmailContent(model),
"</body></html>");
mailMessage.IsBodyHtml = true;
return MailService.SendEmail(mailMessage);
i poniżej jest moja klasa Mailservice:
public class MailService
{
public static bool SendEmail(MailMessage mailMessage)
{
var smtpClient = new SmtpClient();
try
{
smtpClient.Send(mailMessage);
return true;
}
catch(Exception exp)
{
return false;
}
}
}
Teraz kiedy wysłać pocztę, poczta zostanie wysłana, oto co mi się jako zawartość poczty w programie Outlook po naciśnięciu Pokaż źródło. Poniżej znajduje się treść wiadomości e-mail z widokiem na źródło (Oczywiście ja zachowałem tylko część danych obrazu) Wygląda więc na to
<html>
<body>
<h1>Test</h1>
<h2>Hello World</h2>
<h3>Missing close h3 tag</h3>
<p>
<a href="www.google.com">
<img src="data:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD/4Q8HRXhpZgAAT" />
</a>
</p>
</body>
</html>
uszkodzony (obrazy) w mailu, ale kiedy skopiować tego źródła i wklejania do edytora i otwórz plik przy użyciu przeglądarki wszystko wydaje się dobre (nawet obrazy).
Aktualizacja: Dodano obraz poczty z Outlooka
jakieś pomysły ????
Dla wyjaśnienia: Twój problem jest, że obrazy nie ładują (widoczne) w wiadomości e-mail? Czy pokazuje ikonę, że nie można załadować obrazu? – Florian
dodano zrzut ekranu – Yasser
możesz spróbować wypróbować pocztę w Gmailu lub innym webmailerze. Aby sprawdzić, czy problem dotyczy wszystkich klientów pocztowych, a nie tylko dla programu Outlook. – Florian