【问题标题】:Trigger a mail from another mail body on clicking link单击链接时触发来自另一个邮件正文的邮件
【发布时间】:2026-01-09 09:25:03
【问题描述】:

步骤 1:我有这样的要求

步骤 2:该邮件项目应包含一个链接,如“单击此处批准”。

步骤 3:点击该链接后,应打开另一个邮件项目,收件人为:xxx@xxx.com、抄送:yyy@yyy.com、主题等。 ..

我已经完成了第 1 步和第 2 步。但是如何进行第 3 步。

注意:这是一个 C# 应用程序。

我正在使用下面的 C# 代码

 Body = "Hi, "
 Body += "%0D The Deal - " + ClientName + ", has been Assigned to you  %0D%0D"
 Body += "Expected Signature Date : " + SignDate + " %0D"
 Body += "Expected Funding Date   : " + FundingDate + " %0D%0D"
 Body += "Please, click the below link to view the details. %0D%0D"
 Body += PathName + "%0D"
 Body += "<a href=mailto: xxx.xxx@ge.com?Subject=Subject&body=Body> Click here to send mail</a>"

 Body = Body.Replace("&amp;", " ")
 Body = Body.Replace("#", "")
 sMsg = User.Redirect("mailto:" + cc + "?Subject=" + Subject + "&body=" + Body)

重定向功能:

Public Function Redirect(ByVal PageName As String) As String

    Dim sb As New StringBuilder()
    sb.Append("window.location.href='" + PageName + "'; ")
    Return sb.ToString()

End Function

如果我使用 Outlook dll 如何打开邮件项目。

Eg: Mailitem.Send() will send the mail. But i need to open the mail item. 

【问题讨论】:

  • 您想要一封包含可以打开另一封邮件的链接的邮件?
  • 从 ASP.NET 或其他服务器技术使用 Office 互操作是一个可怕的想法。这些 API 是为在桌面应用程序中使用而编写的,用于自动化 Office(一套桌面应用程序)。服务器应用程序在许多方面都不同,这使得在其中使用 Office Interop 是一个非常非常糟糕的主意。它也不受 Microsoft 支持,并且可能违反您的 Office 许可证。见Considerations for server-side Automation of Office

标签: c# outlook


【解决方案1】:
Outlook.Application app = new Outlook.Application ();
Outlook._MailItem mailItm = ( Outlook._MailItem)app.CreateItem ( Outlook.OlItemType.olMailItem );
mailItm.To = "xxx@xxx.com";
mailItm.Cc = "yyy@yyy.com";
mailItm.Subject = "Some Subject";
// body, bcc etc...
mailItm.Display ( true );

如果您在不使用 asp.net 的情况下单击链接以发送电子邮件并填写 (收件人、主题、抄送等,),您可以使用 mailto 执行以下操作:

<a href="mailto:xxx@xxx.com?Subject=Some%20Subject&Cc=yyy@yyy.com>
Click here to send mail
</a>

【讨论】:

最近更新 更多