2012-09-10 44 views
1

我正在尋找指導來完成此類任務。我在C#程序中生成主題,正文和收件人,並且我需要將此信息發送到默認電子郵件程序(如Outlook),然後根據我發送的內容填寫新的電子郵件模板。然後,用戶只需點擊發送,或者在需要時修改某些內容並按照他想要的方式執行該電子郵件。問題是我只能找到各種如何發送電子郵件的例子,而不是如何在計算機上打開默認程序並填寫數據。任何關於如何搜索的指導,我們都很感激從C#程序填充電子郵件模板

回答

4

使用mailto URI scheme

Process.Start("mailto:[email protected][email protected]&subject=This%20is%20the%20subject&body=This%20is%20the%20body"); 

enter image description here

+0

正是我需要的。謝謝! –

+0

正確的答案,但如上所述,使用URL方案的旁註可能無法發送更多N個字符。所以你的身體不應該那麼重要。只是一種防禦性的編程方法。 –

0
Outlook.Application oApp = new Outlook.Application(); 
Outlook._MailItem oMailItem = (Outlook._MailItem)oApp.CreateItem (Outlook.OlItemType.olMailItem); 
oMailItem.To = address; 
oMailItem.body = body; 
// body, bcc etc... 
oMailItem.Display (true); 

這是通過使用與使用的Outlook互操作性展示。

替代是System.Process ....

Process.Start(String.Format("mailto:{0}?subject={1}&cc={2}&bcc={3}&body={4}", address, subject, cc, bcc, body)) 

兩個以上能夠解決您的問題。

0

你的意思是這樣的嗎?

http://www.add-in-express.com/creating-addins-blog/2011/09/08/outlook-fill-recipients-programmatically/

但是,這是剛剛Outlook中,使用的.Net辦公。除非您試圖發送電子郵件的程序具有某種類型的API(如Outlook),或者您恰好有一個程序直接控制鍵盤和鼠標(而這絕望),否則我不會看到你能行的。無論哪種方式,你必須爲每個外部工具定製你的程序;那就是Outlook的代碼將與Thunderbird的代碼不同。