1

在我的 MVC4 应用程序中,我使用邮包来发送电子邮件。

我正在尝试通过<img>标签包含徽标,但它不起作用。

如何包含我的公司徽标?

控制器动作

   public ActionResult Index()
   {
       dynamic email = new Email("Example");
       email.To = "xxxxx@xxxxxx";
       email.FunnyLink = "haiii";
       email.Send();
       return View();
   }

查看

 To: @ViewBag.To From: lolcats@website.com 
 Subject: Important Message 

 <div style="background-color:aqua;">
     Hello, You wanted important web links right?
     Check out this: @ViewBag.FunnyLink

     <br />
     <img src="~/Images/Logo.png" />
 </div>
4

2 回答 2

5

您需要像这样使用完整的绝对图像网址-

<img src="@Request.Url.GetLeftPart(UriPartial.Authority)/Images/Logo.png" />

或者

如果您有基于 html 的文件,那么您应该发送域名,就像您传递到视图中的其他数据一样 -

<img src="@ViewBag.DomainName/Images/Logo.png" />

当用户收到您的电子邮件时,您的电子邮件内容不会像这样从相对网址解析图像路径 -

/Images/logo.png {this will not work}

因此,只有在具有完整域路径的情况下才能获取图像。

于 2015-04-23T04:59:48.757 回答
1

您可以使用 Html 扩展,如下所示。您可以参考这里了解更多详情。

<div style="background-color:aqua;">
    Hello, You wanted important web links right?
    Check out this: @ViewBag.FunnyLink

   <br />
    @Html.EmbedImage("~/Images/Logo.png")
</div>
于 2015-09-13T00:46:03.727 回答