繁体   English   中英

在C#中创建带有目标的正文中的锚标记的Outlook电子邮件

[英]Create Outlook Email in C# with anchor tag in body that has a target

我和我的团队有一个非常具体且令人沮丧的问题。 我们有一个MVC4 Web应用程序,许多人在公司内部使用该应用程序(无外部暴露)。 我们的某些流程会生成电子邮件给其他员工,并带有指向该应用程序的链接。

例如,可能有一个员工看到并想要参加一些活动。 他们可以通过电子邮件发送给其他员工说他们想参加。

在这些电子邮件中,我们在锚标记中添加了指向我们应用程序的链接以及一些查询字符串,以帮助将其定向到正确的页面。

所有这些都很棒。 现在,问题是,我们希望链接(来自电子邮件)在应用程序的现有窗口中加载(如果存在)。 通常,我相信可以通过在anchor标签中设置target属性来完成此操作,但这是行不通的,它只是在新标签页中打开。

这是电子邮件中的定位标记来源的样子(我更改了一些文本,以便隐藏公司相关信息):

Please <a target="appMain" href='http://domain/app/controller.aspx/view?
keyname=querystringparam1&params={"prop1":val,"prop2":va;}'>
click here</a> to approve and go to app

这是我们发送邮件的smtp函数:

public void SendMail(EmailContent emailContent, string mailConfigurationPath)
   {
       var toRecipients = string.Join(",", emailContent.ToList);

       var mailMessage = new MailMessage(emailContent.From, toRecipients)
       {
           IsBodyHtml = emailContent.IsBodyHtml,
           Body = emailContent.Body,
           Subject = emailContent.Subject
       };

       var smtpClient = new SmtpClient
       {
           DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
           PickupDirectoryLocation = mailConfigurationPath
       };

       smtpClient.Send(mailMessage);
   }

我正在努力实现的目标是否可能? 这似乎很简单,也许我只是以错误的方式来做。 希望有帮助或什至“疯狂”的想法。

这是不可能的,因为它在电子邮件程序本身中创建了一个漏洞。

http://thenextweb.com/insider/2013/01/07/yahoo-mail-users-hit-by-widespread-hacking-xss-exploit-seemingly-to-blame/

此外,它还违反了电子邮件程序的所有常规用户界面准则。 用户不要将电子邮件转换为应用程序。 他们非常熟悉单击电子邮件中的链接,因此您不希望该操作做奇怪的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM