在windows应用程序中嵌入电子邮件设置
本文关键字:电子邮件 设置 windows 应用程序 | 更新日期: 2023-09-27 18:19:04
我想知道是否有办法嵌入电子邮件设置在Windows应用程序,然后存储在app. config文件。的设置将是静态的,因此用户不必在运行期间更改它时间。据我所知,我们可以把它保存在资源文件作为字符串,但是我如何访问我的代码中的设置?
代码:string st = Properties.Resources.cubemail;
//SmtpSection smtpSection = ConfigurationManager.GetSection(st) as SmtpSection;
MailSettingsSectionGroup mMailSettings =
ConfigurationManager.GetSection(st) as MailSettingsSectionGroup;
mail.From = new MailAddress(mMailSettings.Smtp.From);
smtp.Host = mMailSettings.Smtp.Network.Host;
smtp.Port = mMailSettings.Smtp.Network.Port;
smtp.UseDefaultCredentials = mMailSettings.Smtp.Network.DefaultCredentials;
smtp.Credentials = new System.Net.NetworkCredential(
mMailSettings.Smtp.Network.UserName,
mMailSettings.Smtp.Network.Password);
在您的项目中添加xml文件并将该文件标记为嵌入式资源,您可以将所有设置放在那里
使用XML文档存储电子邮件设置,您可以在记事本中打开/更新XML文档,如文本编辑器或使用Linq to XML读取或更新。
编辑:如果你已经将XML文档标记为嵌入式资源,那么你可以通过Assembly.GetManifestResourceStream()方法读取它。
我假设xml文档的名称是Test.xml
,并在WindowApp
命名空间下创建。
Test.xml
<?xml version="1.0" encoding="utf-8" ?>
<MySettings>
<host>something.com</host>
</MySettings>
读取资源,
Assembly assembly = Assembly.GetExecutingAssembly();
XDocument doc= XDocument.Load(assembly.GetManifestResourceStream("WindowApp.Test.xml"));
string host=doc.Root.Element("host").Value;