我要做的是:
用户点击ASP.net页面上的按钮,然后打开Outlook'新邮件'窗口。 这就是全部。
我的问题:
有了这个 - >
using Outlook = Outlook = Microsoft.Office.Interop.Outlook;
OutlookApp outlookApp = new OutlookApp();
MailItem mailItem = (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);
mailItem.Subject = "Test";
mailItem.HTMLBody = "<html><body>This is the message body</body></html>";
mailItem.Display(false);
我尝试了其他几个代码,我的IIS Web服务器上出现安全错误 - 访问被拒绝。但在localhost Outlook上打开正常。
我看了一遍,每个人都建议NETWORKSERVICE应该是具有完全安全权限的用户。做过某事。在阅读了一些之后,人们建议不要尝试通过Web服务器打开Outlook,原因有几个。所以我决定离开Interops.Outlook。
然后我也尝试了以下内容,它再次适用于我的localhost,但是当发布到Web服务器时,单击该按钮时没有响应。它实际上什么都不做。
string subject = "Test subject";
string emailTag = string.Format("mailto:someone@test.com?subject={0}", subject);
System.Diagnostics.Process.Start(emailTag);
由于
答案 0 :(得分:1)
您可以使用超链接从网站打开默认电子邮件客户端。
<a class='button' href='mailto:mailto:someone@test.com?subject={0}'>Email</a>
要将超链接显示为按钮,您可以使用以下CSS:
.button {
font: bold 11px Arial;
text-decoration: none;
background-color: #EEEEEE;
color: #333333;
padding: 2px 6px 2px 6px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
}
<a class='button' href='mailto:mailto:someone@test.com?subject={0}'>Email</a>
如果您使用的是bootstrap,则会更容易。只需应用角色属性即可将链接显示为按钮:
<a role='button' href='mailto:mailto:someone@test.com?subject={0}'>Email</a>
答案 1 :(得分:0)
正如vendettamit所述,您可以使用SenEmail在客户端打开Outlook或其他默认邮件应用程序。 Here您可以在mailto:
答案 2 :(得分:-2)
所以我最初想在ASP按钮内编码。以下代码是:
ClientScript.RegisterStartupScript(this.GetType(), "FormLoading", "window.open('mailto:someone@test.test', 'email');", true);
这会打开我的Outlook而不会出现问题,我也可以在按钮中添加其他方法。