加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP Codeigniter:有一种优雅的方法来在邮件失败时获取SMTP返回

发布时间:2020-12-13 17:19:49 所属栏目:PHP教程 来源:网络整理
导读:使用标准Codeigniter时 mail-send() 它只返回TRUE或FALSE.但是,我有要求以不同方式处理某些SMTP返回代码.我可以解析调试文本信息,或者以某种方式尝试覆盖Codeigniter的邮件处理程序.有没有直接和优雅的方式来做到这一点? 提前致谢. 解决方法 我不认为在Code
使用标准Codeigniter时

mail->send()

它只返回TRUE或FALSE.但是,我有要求以不同方式处理某些SMTP返回代码.我可以解析调试文本信息,或者以某种方式尝试覆盖Codeigniter的邮件处理程序.有没有直接和优雅的方式来做到这一点?

提前致谢.

解决方法

我不认为在CodeIgniter中有一个内置机制.您可以做的是扩展CI电子邮件类并添加一个函数来公开受保护的_debug_msg数组.

如果查看电子邮件类的来源,您会看到print_debugger()函数正在将_debug_msg数组转换为字符串.因此,如果_debug_msg具有您正在寻找的内容,那么您将不必解析任何字符串.

class MY_Email extends CI_Email {

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

    public get_msg()
    {
        if (count($this->_debug_msg) > 0)
        {
            return $this->_debug_msg;
        }
        else
        {
            return FALSE;
        }
    }
}

请参阅以下链接,了解如何扩展CI库
http://codeigniter.com/user_guide/general/creating_libraries.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读