【发布时间】:2013-05-20 04:48:21
【问题描述】:
我正在使用 C# 使用 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);
下面是我的 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;
}
}
}
现在当我发送邮件时,邮件被发送,这是我在按查看源时在 Outlook 中得到的邮件内容。下面是邮件的内容,有图源(显然我只保留了部分图片数据)
<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>
所以这在邮件中显示为损坏(图像),但是当我复制此源并将其粘贴到编辑器并使用浏览器打开文件时,一切似乎都很好(甚至图像)。
更新:添加了来自 Outlook 的邮件图片
有什么想法吗????
【问题讨论】:
-
澄清一下:您的问题是,图像没有在电子邮件中加载(显示)?是否显示无法加载图像的图标?
-
您可能想试试邮件在 gmail 或其他网络邮件程序中的外观。验证问题是否存在于所有邮件客户端,而不仅仅是 Outlook。
-
如何将图像添加到电子邮件中?您是否正在使用自己的方法来获取嵌入图像所需的字符串或诸如
AlternateView之类的内置内容? -
你可能想看看这个问题的答案:stackoverflow.com/questions/9110091/…
-
@Anubis1233 在 Thunderbird 和 gmail 中试过,看起来一样...
标签: c# html email smtpclient