需要快速收录的请联系QQ:2303230985
当前位置:SEO网站目录 » 站长资讯 » 网站运营 » 文章详细 订阅RssFeed

DTcms留言插件邮件通知功能升级

来源:互联网 浏览:2999次 时间:2017-01-13

你是否也遇到过网站留言几个月才看到,针对于这一问题,我们把原有的DTcms留言插件升级一下,加入邮件通知功能,当有人留言时,系统自动发送封邮件到您常用的邮箱或者发送手机短信。

1.jpg

留言配置管理界面

现在我们开始改造工程吧:

1、首先第一步,添加config目录

2.jpg

2、在config目录下添加一个名为“install.config”的配置文件,添加如下代码

<?xml version="1.0"?>
<install xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <bookmsg>2</bookmsg>
  <booktemplet>wordsmsg</booktemplet>
  <receive>271877887@qq.com</receive>
</install>

3、在model.cs文件中添加配置文件模型。

[Serializable]
public partial class install
{
    public install()
    { }
    private int _bookmsg = 0;
    private string _booktemplet = "";
    private string _receive = "";
    /// <summary>
    /// 通知
    /// </summary>
    public int bookmsg
    {
        set { _bookmsg = value; }
        get { return _bookmsg; }
    }
    /// <summary>
    /// 通知模板别名
    /// </summary>
    public string booktemplet
    {
        set { _booktemplet = value; }
        get { return _booktemplet; }
    }
    /// <summary>
    /// 接收邮箱或手机
    /// </summary>
    public string receive
    {
        set { _receive = value; }
        get { return _receive; }
    }
}

4、在dal.cs文件中添加配置文件操作方法。

/// <summary>
/// 数据访问类:配置文件
/// </summary>
public partial class install
{
    private static object lockHelper = new object();
    public install()
    {
    }
    #region 扩展设置参数
    /// <summary>
    ///  读取站点配置文件
    /// </summary>
    public Model.install loadConfig(string configFilePath)
    {
        return (Model.install)SerializationHelper.Load(typeof(Model.install), configFilePath);
    }
    /// <summary>
    /// 写入站点配置文件
    /// </summary>
    public Model.install saveConifg(Model.install model, string configFilePath)
    {
        lock (lockHelper)
        {
            SerializationHelper.Save(model, configFilePath);
        }
        return model;
    }
    #endregion
}

4、在bll.cs文件中添加以下方法。

/// <summary>
/// 配置文件
/// </summary>
public partial class install
{
    private readonly DAL.install dal;
    public install()
    {
        dal = new DAL.install();
    }
    /// <summary>
    ///  读取配置文件
    /// </summary>
    public Model.install loadConfig(string config_path)
    {
        string cacheName = "gs_cache_feedback_config";
        Model.install model = CacheHelper.Get<Model.install>(cacheName);
        if (model == null)
        {
            CacheHelper.Insert(cacheName, dal.loadConfig(Utils.GetMapPath(config_path)), Utils.GetMapPath(config_path));
            model = CacheHelper.Get<Model.install>(cacheName);
        }
        return model;
    }
    /// <summary>
    ///  保存配置文件
    /// </summary>
    public Model.install saveConifg(Model.install model, string config_path)
    {
        return dal.saveConifg(model, Utils.GetMapPath(config_path));
    }
}

5、在admin目录下添加install.aspx文件。用作管理操作界面;

6、修改“ajax.ashx”文件,在“feedback_add”方法中添加发送方法;在修改方法之前要预先读取配置文件

Model.install config = new BLL.install().loadConfig("../config/install.config");

7、修改“ajax.ashx”文件第89行,添加如下方法

//是否开启通知功能
if (config.bookmsg > 0 && config.receive !="")
{
    switch (config.bookmsg)
    {
        case 1:
            DTcms.Model.sms_template smsModel = new DTcms.BLL.sms_template().GetModel(config.booktemplet); //取得短信内容
            if (smsModel != null)
            {
                //替换模板内容
                string smstxt = smsModel.content;
                smstxt = smstxt.Replace("{webname}", siteConfig.webname);
                smstxt = smstxt.Replace("{webtel}", siteConfig.webtel);
                smstxt = smstxt.Replace("{weburl}", siteConfig.weburl);
                smstxt = smstxt.Replace("{username}", model.user_name);
                smstxt = smstxt.Replace("{usertel}", model.user_tel);
                smstxt = smstxt.Replace("{userqq}", model.user_qq);
                smstxt = smstxt.Replace("{useremail}", model.user_email);
                smstxt = smstxt.Replace("{usertitle}", model.title);
                smstxt = smstxt.Replace("{usercontent}", model.content);
                //发送短信
                string tipMsg = string.Empty;
                bool result = new DTcms.BLL.sms_message().Send(config.receive, smstxt, 1, out tipMsg);
                if (!result)
                {
                    //LogHelper.WriteLog("手机信息发送失败!");
                }
            }
            break;
        case 2:
            //获得邮件内容
            DTcms.Model.mail_template mailModel = new DTcms.BLL.mail_template().GetModel(config.booktemplet);
            if (mailModel != null)
            {
                //替换模板内容
                string titletxt = mailModel.maill_title;
                string bodytxt = mailModel.content;
                titletxt = titletxt.Replace("{webname}", siteConfig.webname);
                titletxt = titletxt.Replace("{username}", model.user_name);
                bodytxt = bodytxt.Replace("{webname}", siteConfig.webname);
                bodytxt = bodytxt.Replace("{webtel}", siteConfig.webtel);
                bodytxt = bodytxt.Replace("{weburl}", siteConfig.weburl);
                bodytxt = bodytxt.Replace("{username}", model.user_name);
                bodytxt = bodytxt.Replace("{usertel}", model.user_tel);
                bodytxt = bodytxt.Replace("{userqq}", model.user_qq);
                bodytxt = bodytxt.Replace("{useremail}", model.user_email);
                bodytxt = bodytxt.Replace("{usertitle}", model.title);
                bodytxt = bodytxt.Replace("{usercontent}", model.content);
                //循环发送
                string[] emailArr = config.receive.Split(',');
                foreach (string email in emailArr)
                {
                    if (DTcms.Common.Utils.IsValidEmail(email))
                    {
                        //发送邮件
                        try
                        {
                            DTMail.sendMail(siteConfig.emailsmtp, siteConfig.emailssl,
                                siteConfig.emailusername,
                                DESEncrypt.Decrypt(siteConfig.emailpassword, siteConfig.sysencryptstring),
                                siteConfig.emailnickname,
                                siteConfig.emailfrom,
                                email,
                                titletxt, bodytxt);
                        }
                        catch
                        {
                            //LogHelper.WriteLog("邮件发送失败!");
                        }
                    }
                }
            }
            break;
    }
}

到此我们的网站留言功能就升级完成了。注意,邮件通知、短信通知都必须先配置系统参数才可以正常使用。

3.jpg

最新点入

  • 阳光游戏阳光游戏

    阳光游戏网为玩家提供新的网络游戏,单机游戏,手机游戏,手游等资源,经过多年努力已成为游戏玩家首要选择的游戏资讯、游戏资源网站。

    www.shiciwang.com.cn
  • 香香腐宅_官网入口香香腐宅_官网入口

    香香腐宅平台最新版是一款备受漫画爱好者喜爱的阅读软件,它为用户提供了海量的漫画资源,香香腐宅官网涵盖了各种题材和类型,让用户能够轻松找到自己喜欢的漫画www.boylove88.com。

    www.boylove88.com
  • 全球網址提交網全球網址提交網

    全球網址提交網是全免費的網址提交目錄,收錄國內外、各行業優秀網站,為用戶提供全面的網站分類目錄網站、優秀網站參攷、友情連結交換平臺、網站推廣服務國內免費的網站提交入口(www.urlglobalsubmit.com)。

    www.urlglobalsubmit.com
  • 国际电子商务网国际电子商务网

    欢迎访问国际电子商务网,这里有各行业信息网/B2B电子商务网站,是最方便的免费网络推广平台,已成为无数商家网络营销/网络推广的首选网站!

    www.intbtb.com
  • SEO网站目录SEO网站目录

    SEO网站目录是全人工编辑的开放式网站分类目录,收录快、快照新,收录国内外、各行业优秀网站,旨在为用户提供网站分类目录检索、优秀网站参考、网站推广服务。

    https://www.seo123.net

推荐站点

  • 中国国家博物馆中国国家博物馆

    中国国家博物馆网站全面及时介绍中国国家博物馆概况,藏品,展览,活动,学术研究,国际交流等各项内容,提供参观导览,门票预约,留言问答等多类服务,努力为公众了解国家博物馆,参观国家博物馆和享受国家博物馆提供的各类文化休闲服务提供支持

    https://www.chnmuseum.cn/
  • 故宫博物院故宫博物院

    故宫博物院是一座特殊的博物馆,成立于1925年的故宫博物院,建立在明清两朝皇宫——紫禁城的基础上。历经六百年兴衰荣辱,帝王宫殿的大门终于向公众敞开。走过近百个春秋的故宫博物院,不仅一如既往精心保管着明清时代遗留下来的皇家宫殿和旧藏珍宝,而且通过国家调拨、向社会征集和接受私人捐赠等方式,极大地丰富了文物藏品,形成古书画、古器物、宫廷文物、书籍档案等领域蔚成系列、总数186万余件的珍贵馆藏。漫步在故宫博物院的常设文物专馆,或者欣赏频繁推出的专题文物展览让您可以更完整地了解中华民族工艺美术的伟大成就。故宫博物院是世界文化遗产地、全国重点文物保护单位和爱国主义教育示范基地。

    https://www.dpm.org.cn
  • 上海天文馆上海天文馆

    上海天文馆(上海科技馆分馆)是上海市政府投资兴建的大型科普场馆。上海天文馆(上海市浦东新区临港大道380号)占地面积5.8万平方米,建筑面积3.8万平方米,是全球最大的天文馆。上海天文馆以“塑造完整宇宙观”为愿景,努力激发人们的好奇心,鼓励人们感受星空,理解宇宙,思索未来。上海天文馆主展区包括“家园”“宇宙”“征程”等三个部分,全景展现宇宙浩瀚图景,打造多感官探索之旅,帮助观众塑造完整的宇宙观。上海天文馆拥有四大专业级天文观测及天象演示设备,65厘米自适应光学太阳望远镜(EAST)可在白天实现太阳的多波段观测,展现高清晰度的太阳黑子、日珥、耀斑等影像;一米双焦点望远镜(DOT)可在夜间带观众欣赏清晰的月面、行星和美丽的深空天体;全球最先进的23米直径多功能超高清球幕影院带您进入神秘的宇宙世界;高级光学天象仪则投射出高精度的模拟星空,为您带来无比震撼逼真的星空体验。

    https://www.sstm-sam.org.cn
  • SEO网站目录SEO网站目录

    SEO网站目录是全人工编辑的开放式网站分类目录,收录快、快照新,收录国内外、各行业优秀网站,旨在为用户提供网站分类目录检索、优秀网站参考、网站推广服务。

    https://www.seo123.net
  • 中国天气网中国天气网

    官方权威发布天气预报,逐三小时天气预报,提供天气预报查询一周,天气预报15天查询,天气预报40天查询,天气资讯,空气质量,生活指数,旅游出行,交通天气等查询服务

    www.weather.com.cn