C# 从asp.net网站发送的电子邮件中不会加载图像和css
在我的asp.net网站中,我可以发送支持HTML的电子邮件。这些电子邮件使用SMTP发送,这些电子邮件包含图像,也引用css文件。问题是,当在gmail、yahoo和其他域中打开时,收到的电子邮件中的图像不会显示。我在电子邮件的HTML中使用的css代码/文件也存在同样的问题 我使用以下SMTP代码发送电子邮件:C# 从asp.net网站发送的电子邮件中不会加载图像和css,c#,asp.net,C#,Asp.net,在我的asp.net网站中,我可以发送支持HTML的电子邮件。这些电子邮件使用SMTP发送,这些电子邮件包含图像,也引用css文件。问题是,当在gmail、yahoo和其他域中打开时,收到的电子邮件中的图像不会显示。我在电子邮件的HTML中使用的css代码/文件也存在同样的问题 我使用以下SMTP代码发送电子邮件: string _mailFrom = ConfigurationManager.AppSettings["mailfrom"].ToString();
string _mailFrom = ConfigurationManager.AppSettings["mailfrom"].ToString();
string _emailTo = ConfigurationManager.AppSettings["ScheduledServiceRecipientTO"].ToString();
string _emailCC = ConfigurationManager.AppSettings["ScheduledServiceRecipientCC"].ToString();
var _mailMessage = new System.Net.Mail.MailMessage();
_mailMessage.To.Add(_emailTo);
_mailMessage.CC.Add(new MailAddress(_emailCC));
_mailMessage.From = new MailAddress(_mailFrom);
_mailMessage.Subject = subject;
_mailMessage.Body = pBody;
_mailMessage.IsBodyHtml = true;
try
{
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = ConfigurationManager.AppSettings["Host"];
smtp.Port = Convert.ToInt32(ConfigurationManager.AppSettings["Port"]);
//smtp.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["Password"]);
}
smtp.Send(_mailMessage);
return true;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
请帮我解决这个问题
提前感谢。您必须呈现HTML。我们使用RazorHelper功能和部分视图来设计您的电子邮件。 助手类中有以下函数:
public static string RenderPartialViewToString(Controller controller, string viewName, object model)
{
controller.ViewData.Model = model;
using (var sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
return sw.GetStringBuilder().ToString();
}
}
然后在控制器上下文中调用它:
email.Body = RazorHelper.RenderPartialViewToString(this, "PartialViewName", model);
你能发布pBody的内容吗?图片和css文件是本地的还是网络上的?我认为它是在你的本地,所以我认为你需要附加的图像和css文件在您的电子邮件中。