通过邮政发送电子邮件时包含徽标

时间:2015-04-23 04:43:26

标签: asp.net-mvc-4 postal

在我的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>

2 个答案:

答案 0 :(得分: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}

因此,只有拥有完整的域路径才能获取图像。

答案 1 :(得分:1)

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

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

   <br />
    @Html.EmbedImage("~/Images/Logo.png")
</div>