2013-08-19 35 views
0

我的意圖是使用outlook interop庫從c#發送郵件。但問題是prod機器不會安裝outlook軟件。使用c#interop庫發送郵件而不安裝outlook客戶端

  1. 其他方式發送郵件使用C#沒有安裝Outlook?
  2. 即使它被安裝,它是否需要配置帳戶? 3.能否手動指定發件人地址而不是訪問outlook帳戶?

注意:我不打算使用基於SMTP的電子郵件,因爲發送的郵件不會與郵件服務器同步。

謝謝

+0

有什麼理由用Outlook互操作發送電子郵件? – ysrb

+0

不是我所知道的,互操作的整個想法是訪問Outlook並使用它的功能。這是一種看起來像一個鉤我想。不過,你可以使用'http:// msdn.microsoft.com/en-us/library/system.net.mail.aspx'。幾乎相同,但您不需要Outlook發送郵件。 – Trent

+0

不具體,但我想跟蹤發送的項目,並可以隨時訪問它 – Jeyaganesh

回答

0

是的,這是可能的使用C#單獨。 用戶不需要在客戶機中安裝outlook。

C#提供名爲System.Net.Mail的名稱空間。它具有從C#發送郵件所需的所有類。它與OutLook沒有任何依賴關係。 看看下面的代碼片段一看:

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();  
message.To.Add("[email protected]");  
message.Subject = "This is the Subject line";  
message.From = new System.Net.Mail.MailAddress("[email protected]");  
message.Body = "This is the message body";  
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("**yoursmtphost**");  
smtp.Send(message); 

代替「yoursmtphost」您可以配置機器的IP地址也是如此。

希望這可以解決您的查詢。如果完成,請不要忘記標記回答。

+0

你好,這使用SMTP,但我需要的是通過交換,因爲通過郵件發送SMTP不與服務器同步。這是主要目的 – Jeyaganesh

0

您可以輕鬆地使用Gmail免費的SMTP服務器,並使用您的Gmail帳戶發送郵件:

  System.Net.Mail MailMessage message = new System.Net.Mail.MailMessage(); 
      message.To.Add("[email protected]"); 

      message.Subject = "subject"; 
      message.From = new System.Net.Mail.MailAddress("[email protected]"); 
      message.Body = "body"; 
      System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587); 
      smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "yourgmailpassword"); 
      smtp.EnableSsl = true; 

      smtp.Send(message); 
相關問題