Discuz!NT邮件插件机制分析
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-04-11
如何加载上图中下拉列框中的邮件发送邮件的数据呢,这里用的是对DLL进行反射。 找出相关的用上面“用户定制属性”进行标识的类代码.相关的代码如下(位于Discuz.Web 项目下的admin\global\global_emailconfig.cs文件中) 1public void GetSmtpEmailPlugIn() 2{ 3 4 DirectoryInfo dirinfo = new DirectoryInfo(HttpRuntime.BinDirectory); 5 foreach (FileSystemInfo file in dirinfo.GetFileSystemInfos()) 6 { 7 if (file != null) 8 { 9 if (file.Extension.ToLower().Equals(".dll")) 10 { 11 Assembly a = Assembly.LoadFrom(HttpRuntime.BinDirectory + file); 12 foreach (Module m in a.GetModules()) 13 { 14 //采用过滤器进行类名过滤 15 foreach (Type t in m.FindTypes(Module.FilterTypeName, "*")) 16 { 17 foreach (object arr in t.GetCustomAttributes(typeof(SmtpEmailAttribute), true)) 18 { 19 SmtpEmailAttribute sea = (SmtpEmailAttribute)arr; 20 21 smtpemail.Items.Add(new ListItem(sea.PlugInName, t.FullName + "," + 22 (sea.DllFileName != "" ? sea.DllFileName : file.ToString().Replace(".dll", "")))); 23 } 24   |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Discuz!NT邮件插件机制分析的所有评论