首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CodeIgniter中,如何通过电子邮件向我发送错误消息?

在CodeIgniter中,如何通过电子邮件向我发送错误消息?
EN

Stack Overflow用户
提问于 2008-11-04 02:07:50
回答 4查看 8.2K关注 0票数 13

我想通过电子邮件接收错误日志。例如,如果出现Warning-level错误消息,我希望收到有关它的电子邮件。

如何让它在CodeIgniter中正常工作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-04 02:40:09

您可以扩展Exception核心类来执行此操作。

可能必须调整对CI的电子邮件类的引用,不确定是否可以从这样的库中实例化它。我自己没有使用CI的email类,我一直在使用Swift Mailer库。但这应该会让你走上正确的道路。

创建一个应用程序文件,并将其放入/ MY_Exceptions.php /libraries/(对于CI 2,则放在/application/core/中)

代码语言:javascript
复制
class MY_Exceptions extends CI_Exceptions {

    function __construct()
    {
        parent::__construct();
    }

    function log_exception($severity, $message, $filepath, $line)

    {   
        if (ENVIRONMENT === 'production') {
            $ci =& get_instance();

            $ci->load->library('email');
            $ci->email->from('your@example.com', 'Your Name');
            $ci->email->to('someone@example.com');
            $ci->email->cc('another@another-example.com');
            $ci->email->bcc('them@their-example.com');
            $ci->email->subject('error');
            $ci->email->message('Severity: '.$severity.'  --> '.$message. ' '.$filepath.' '.$line);
            $ci->email->send();
        }


        parent::log_exception($severity, $message, $filepath, $line);
    }

}
票数 18
EN

Stack Overflow用户

发布于 2010-08-01 01:23:10

解决方案中遗漏的一件事是,您必须获取CodeIgniters超级对象来加载和使用电子邮件库(或任何CodeIgniters、其他库和本机函数)。

代码语言:javascript
复制
$CI =& get_instance();

完成后,您可以使用$CI而不是$this来加载电子邮件库并设置所有参数。有关更多信息,请参阅 under and Library部分。

票数 3
EN

Stack Overflow用户

发布于 2008-11-04 02:43:17

哦,另一个选择是获得一个支持电子邮件摘要的logrotation应用程序。不确定你在什么平台上,但是你可以让一些东西监控error_log文件并给你发送更新,可能不是那么整洁,而且你肯定会被限制在error_log中的信息。(error_log是Apache,CI在system中有/logs/文件夹,IIS有Windows事件)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/260597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档