2012-03-23 69 views
0

我在C#WinForm應用程序發送電子郵件時遇到三個問題。通過C#winform應用程序發送電子郵件

1)爲了發送電子郵件,我必須在運行時選擇主機和端口號,例如, smtp.mail.yahoo.com和端口號465或smtp.google.com和端口號587.完成此操作的最佳方法是什麼?

2)測試時,我的個人電腦上安裝了我的殺毒軟件(快速修復)阻止了我的應用程序,並說這不是可信的電子郵件客戶端。如何以編程方式將我的應用程序包含在防病毒/ Windows可信電子郵件客戶端列表中?

3)是否需要使用默認端口25或任何其他端口如465或587?

+0

你從哪裏抽取連接細節? – Amicable 2012-03-23 11:21:35

+0

我假設您的防病毒軟件已經離開,告訴它您的程序是可信的電子郵件客戶端。這將是唯一可行的方法。 – 2012-03-23 15:02:52

回答

0
  1. 取決於您從何處/如何/您將這個端口數據從哪裏拉出來。你從哪裏得到號碼?

  2. 那麼這並不重要,因爲根據數字1,這將在運行時選擇!?

+0

2.'我怎樣才能以編程方式將我的應用程序包含在防病毒/ Windows信任的電子郵件客戶端列表中.'再次閱讀 – Reniuz 2012-03-23 10:42:01

+0

謝謝。編輯。不確定這是否可以通過編程來實現 - 會是我想過的一個巨大的安全風險。 – 2012-03-23 10:44:53

1

在命名空間中的類SmtpClientSystem.Net.Mail包含主機和端口屬性。
所以在設置不同的端口和主機時沒有問題。您將發送郵件的真實端口取決於您選擇使用的Smtp服務。

如何存儲主機和端口配置的最佳位置。
這取決於目的。使用.config文件(應用程序設置),如果這是一次性配置只需在安裝過程中需要並且爲所有用戶修復。如果您希望爲每個用戶提供在運行時更改此數據的功能,請使用配置文件(用戶設置)。另外,如果你的應用程序有一個數據庫,你可以考慮一個選項表和配置信息。

對於'以編程方式將我的應用程序添加到防病毒'。
我認爲如果可能的話,這是非常困難的。安全將受到嚴重破壞。
而最終,每個解決方案都將取決於特定防病毒供應商的特定API。

相關問題