程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .NET中如何用Outlook自動發送郵件(C#)

.NET中如何用Outlook自動發送郵件(C#)

編輯:關於.NET

工作中遇到一個需求,需要使用Outlook自動發送郵件。別誤會,我沒打算做黑客行為,就是想用Outlook發送用戶反饋給我們。就是,用戶在文本框裡面輸入他們的意見,按發送按鈕,意見就自動以email的形勢發送給開發人員,還不能讓用戶知道我們盜用了他們的郵箱(雖然不是黑客,行為也夠黑的...)

看中Outlook的原因有二

1,由於公司的政策,Outlook人人必用(相信很多IT,非IT公司都是這樣)

2,即使脫機狀態也不會報錯,等聯機的時候一樣會把郵件發出。勤勞的Outlook功能啊。

.net framework中有模擬outlook來連接smtp服務器發送郵件的類,我們這篇文章主要不是說這個,但是貼一段網上找來的這一種方法的示例代碼,防止有人被標題騙進來罵本人標題黨。

MailMessage mail = new MailMessage();
mail.From ="JobAlarm";
mail.Subject ="Job Alarm";
mail.Priority = MailPriority.High;
mail.BodyEncoding = Encoding.GetEncoding("BIG5");
mail.BodyFormat = MailFormat.Text;
mail.To ="Receive Body 's Mail Address";
mail.Body ="The mail's Content";
SmtpMail.SmtpServer ="Smtp Server Address";
SmtpMail.Send(mail);

下面說正題,話說,小妹在各位神通廣大的博主和同行的啟發下,想出來兩個方法,可惜都不太盡如人意,最後只好放棄了用E-mail發送用戶反饋的打算,(啊……已經感覺到爛番茄在向我飛來了……)不過還是把這兩個方法寫下來,希望給大家一點啟發。

方法一:直接調用Process.Start()方法。

Process.Start(new ProcessStartInfo("mailto:[email protected]?subject=test&body=Dear:%0A%0DThis is a test mail."));

這個方法會出現一個寫郵件的框,當然標題和內容都已經自動填好了。

接下來,我想出一個損招——使用Windows API的GetWindow()方法獲取該郵件窗口的句柄,再找到發送按鈕,直接點擊。

當然,實際上也不是我想出來的,自然是有別人想出來的,不過此招太損,棄之。如果有朋友對此招有興趣,可以試試。

關於Windows API的示例代碼,大家可以參考這個帖子:

http://topic.csdn.net/t/20040711/10/3163913.html

可不要用這個方法編寫病毒哦^0^

方法二:正規途徑,但是也是走不通的途徑,調用.NET Outlook API發送。

下面是步驟:1,添加引用Microsoft.Office.Interop.Outlook;

這個必須在Reference上面點右鍵,選添加才行,直接using會說找不到。

2,代碼如下:

Microsoft.Office.Interop.Outlook.Application outlookObj = new Microsoft.Office.Interop.Outlook.Application();
MailItem Item = (Microsoft.Office.Interop.Outlook.MailItem)
outlookObj.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);

Item.To = "[email protected]";

Item.Subject = "hello";

Item.Body = "hello";

Item.Send();

但是,惱人的是,用這個方法發送的話,Outlook會產生一個對話框,提醒用戶有未知的應用程序正在冒充她的名義發送郵件。

大家可以去試試。如果找到回避這個警告框的方法,請告訴我,謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved