2017-07-05 43 views
0

我所試圖做的事:與郵寄地址VS C#按鍵功能 - 它需要打開Outlook的新郵件窗口

用戶點擊一個ASP.net頁面上的一個按鈕,它會打開一個展望「新郵件'窗口。 就是這樣。

我的問題:

有了這個 - >

 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服務器上 - 訪問被拒絕。但在本地主機Outlook打開罰款。

我看了一遍,所有人都建議NETWORKSERVICE應該是具有完全安全權限的用戶。做過某事。在閱讀更多內容後,人們建議不要嘗試通過Web服務器打開Outlook,原因有很多。所以我決定離開Interops.Outlook。

然後,我也嘗試了以下操作,該操作再次對我的本地主機起作用,但是當發佈到Web服務器時,單擊該按鈕時沒有響應。它從字面上什麼都不做。

string subject = "Test subject"; 
    string emailTag = string.Format("mailto:[email protected]?subject={0}", subject); 
    System.Diagnostics.Process.Start(emailTag); 

感謝

+1

您是否嘗試過'Email'?這是應該如何做的網站。在IIS中啓動進程將在服務器上啓動,而不是在客戶端上啓動。 – vendettamit

+0

請勿使用'Microsoft.Office.Interop'。如果你應該得到它的工作,它是打開Outlook的服務器。不是客戶。 – VDWWD

+0

你(試圖)在*服務器*上打開Outlook,而不是在瀏覽器*上的*機器上。您必須讓*瀏覽器*爲您完成這項工作 - 不啓動新流程,不自動執行Outlook。 –

回答

1

你可以使用超鏈接從網站打開默認的電子郵件客戶端。

<a class='button' href='mailto:mailto:[email protected]?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:[email protected]?subject={0}'>Email</a>

如果您正在使用bootstrap那麼它會比較容易。只需應用角色屬性來顯示鏈接爲按鈕:

<a role='button' href='mailto:mailto:[email protected]?subject={0}'>Email</a> 
+0

好吧,這將完成這項工作。謝謝 – someone13

0

正如vendettamit說,你可以使用SenEmail打開Outlook或在客戶端的另一個默認郵件應用程序。 Here你可以找到所有可用的東西mailto:

+0

好吧。謝謝。我做了Email這樣做。這只是我想要使用按鈕而不是鏈接。但是我知道我必須繼續保持聯繫。 – someone13

+0

與CSS你可以讓你的鏈接看起來像按鈕。 '' – bimfh

+0

謝謝。我將使用CSS :) – someone13

-2

所以我最初想要在一個ASP按鈕的代碼。而下面的代碼做的是:

   ClientScript.RegisterStartupScript(this.GetType(), "FormLoading", "window.open('mailto:[email protected]', 'email');", true); 

這將打開我的前景沒有問題,再加上我可以添加額外的方法,以按鈕爲好。

+0

你原來的問題是不同的,解決方案是基於此提供的。現在你已經沒有標記答案,並試圖通過改變問題的範圍來回答你的問題。 – vendettamit

相關問題