كيفية تخزين تفاصيل خادم SMTP برمجيًا
-
29-09-2019 - |
سؤال
البحث في stackoverflow ، وجدت هذا السؤال حول كيفية استرداد إعدادات SMTP من web.config, ، ولكن لا توجد تفاصيل حول كيفية تحديث SMTP مرة أخرى إلى ملف web.config.
لقد بدأت بالرمز التالي:
Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
MailSettingsSectionGroup settings =
(MailSettingsSectionGroup)webConfig.GetSectionGroup("system.net/mailSettings");
SmtpSection smtp = settings.Smtp;
SmtpNetworkElement net = smtp.Network;
ولكن سرعان SmptSection.Network
هو الحصول على (ويعرف أيضا باسم "القراءة فقط").
فكيف من المفترض أن أكتب برمجيا بيانات SMTP الخاصة بي مرة أخرى إلى web.config؟
المحلول
يجب أن تكون قادرًا على فعل شيء كهذا ، هل هذا يعمل؟:
Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
MailSettingsSectionGroup settings =
(MailSettingsSectionGroup)webConfig.GetSectionGroup("system.net/mailSettings");
SmtpSection smtp = settings.Smtp;
SmtpNetworkElement net = smtp.Network;
net.Port = 25;
net.Host = "localhost";
webConfig.Save();
نصائح أخرى
نلقي نظرة على هذه المادة: http://www.west-wind.com/weblog/posts/8461.aspx
يبدو أنك بحاجة إلى وصول مرتفع إلى حد ما (أذونات).
على وجه التحديد من المقالة:
protected void Page_Load(object sender, EventArgs e)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
wwDbResourceProviderSection Section = config.GetSection("wwDbResourceProvider") as wwDbResourceProviderSection;
Section.ShowControlIcons = true;
config.Save();
return;
}
لا تنتمي إلى StackOverflow