2014-10-31 79 views
0

我從我的控制檯應用程序發送這樣的電子郵件,值爲Subject, SMTP, e tc ..如您在代碼中看到的,可以從App.Config文件配置,以便客戶可以鍵入自己的。SMTP客戶端,我的客戶是否應該自己更改它?

 SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["SmtpHost"]); 
    client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpPort"]); 
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    client.Send(message); 

我進入我自己SMTP, Port,等等。在配置文件中的信息時,我測試的應用程序。現在客戶想要運行它,他們是否必須輸入他們自己的端口,SMTP等,或者仍然可以使用我在那裏輸入的內容,只需更改RecipientAddresses

注意:它不一定是他們實際可以回覆的電子郵件地址。該程序只需要在運行後發送報告到他們真實的電子郵件地址。發件人的電子郵件地址是否真實無關緊要。

+0

這取決於 - 客戶是否希望從他們自己的電子郵件或從您提供的電子郵件發送它? – 2014-10-31 13:39:59

+0

@BenjaminGruenbaum它不一定是他們實際回覆的電子郵件地址。該程序只需要在運行後發送報告到他們真實的電子郵件地址。無論發件人的電子郵件地址是否真實 – ConfusedSleepyDeveloper 2014-10-31 13:40:32

+1

在這種情況下 - 只要他們可以使用它,而且他們可以從該電子郵件帳戶發送任意電子郵件 - 他們不會必須從他們自己的電子郵件發送它。我建議你設置一個接受來自客戶端的請求的Web服務器,以便它們不能在該電子郵件上設置任意的東西,但它可以工作。 – 2014-10-31 13:41:32

回答

2

答案是,「這取決於」。

如果您想爲客戶端提供您的SMTP憑據,並且您的SMTP服務器可以從客戶端的站點訪問,那麼留下您的設置就好了。我要提醒這樣做,不過,對於一些原因:

  1. 客戶端現在是否與您的SMTP服務。如果您關閉該服務器或您的憑證更改,則客戶端將無法發送郵件。
  2. 客戶端擁有您的SMTP憑證。有人可以從配置文件中獲取這些憑據,並對您的帳戶做不好的事情。
  3. 如果您的客戶使用您的憑據決定向他人發送垃圾郵件,您的SMTP服務可能被標記爲垃圾郵件發送者,並且沒有人能夠從您的帳戶發送電子郵件。

所有考慮的事情,你最好讓你的客戶使用他們自己的SMTP設置。

+0

謝謝,所以基本上我告訴他們問你的IT人員,並在配置文件中輸入你自己的SMTP主機和端口#? – ConfusedSleepyDeveloper 2014-10-31 13:44:23

+0

@ConfusedSleepy開發人員:是的,這就是我會做的。另外請注意,他們的SMTP服務可能需要憑據(用戶名和密碼),所以您可能需要修改程序以支持該功能。此外,如果您的SMTP服務可從防火牆外部訪問,則應將其配置爲需要憑據。否則,你有一個「開放中繼」,任何人(包括垃圾郵件發送者)都可以通過它發送消息。 – 2014-10-31 13:48:48

相關問題