我在我們的ISP託管我的ASP.NET網站。每當我想從我的網站發送一封電子郵件,我得到以下錯誤:ASP.NET web.config從網站發送電子郵件時的SMTP安全異常
System.Security.SecurityException: Request for the permission of type System.Configuration.ConfigurationPermission, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' failed."
我也收到以下錯誤,這是原來的錯誤,我曾試圖解決:
Request for ConfigurationPermission failed while attempting to access configuration section system.net/mailSettings/smtp'. To allow all callers to access the data for this section, set section attribute 'requirePermission' equal 'false' in the configuration file where this section is declared.
我試圖添加一個配置節並設置requirePermission="false"
,但它不工作。或許這種類型是錯誤的?一切工作正常本地。任何幫助從我的web.config
獲得讀取我的SMTP詳細信息的權限將是很好的。
<configSections>
<sectionGroup name="mailSettings">
<section name="smtp" type="System.Net.Configuration.SmtpSection" requirePermission="false"/>
</sectionGroup>
</configSections>
<system.net>
<mailSettings>
<smtp from="...">
<network host="..." defaultCredentials="false" userName="..." password="..." />
</smtp>
</mailSettings>
</system.net>
是否在本地機器上運行?那麼可能你的託管公司有一個自定義的信任級別,它不允許設置mailSettings。你最好聯繫他們來修復這個問題。 – Pbirkoff
是的,本地完美。我也懷疑,是不是有辦法繞過這個安全問題?例如設置一個部分並設置requirePermission = false?如果是這樣,任何意見,如果我實施它的方式是正確的?懷疑我可以問託管公司改變信任級別:(謝謝 – Deon
它看起來像你正確實施它,基本上是因爲它在本地工作,我不認爲你可以繞過它,否則他們不會稱之爲安全;)我也懷疑意願是否會改變信任級別,但有時他們有另一種方法來實現它。聯繫他們似乎是最好的選擇。祝你好運!順便說一句,有時可以從託管公司接收信任配置,所以你可以在本地正確測試它。 – Pbirkoff