用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3484|回复: 16
收起左侧

[讨论/交流] CI - Email 類

[复制链接]
发表于 2014-12-26 14:55:13 | 显示全部楼层 |阅读模式
本帖最后由 Closer 于 2015-2-2 15:27 编辑


關於 CI 的 Email 類使用上問題很多
版上似乎還沒有正確的完整解決方案
很多都是零零散散的

在這邊請求各位賢能之士

若有相關完整的發送郵件方法 (ex. google, qq, 163, ... 等等)
並能發送成功的話 (將依據主題的回覆來判斷)
該篇主題將置頂 2 周 10 點威望
期限是到 1 月底,也就是 2015/01/31 23:59:59 之前的主題都適用

我曉得可以用 PHPMailer() 來處理
但這邊是 CI 社區,希望有個「CI 式」的解決辦法



最後10天將於本版置頂
若到期之後仍沒有類似文章
相關獎勵為 wlyx 所有




活動結束。


 

发表于 2014-12-29 15:37:52 | 显示全部楼层
1. 邮箱的配置文件
PHP复制代码
 
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'mail.123.cn';
$config['smtp_user'] = 'admin@123.cn';
$config['smtp_pass'] = '123';
$config['smtp_port'] = '25';
$config['validate'] = 'false';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$config['crlf'] = "\r\n"; // 注意,双引号
$config['newline'] = "\r\n"; // 注意,双引号
$config['smtp_timeout'] = '100';
 
 
复制代码


2. 发送邮件的函数,参数请自行忽略
PHP复制代码
 
        // send email method
        function send_mail($email, $email_template, $link){
                // assign the language data in array  to $data
                $data = $this->load_language();
                $this->load->library('email');
                $this->email->from('admin@123.cn', 'Ninger');
                $this->email->to($email);
                $this->email->bcc('admin@123.cn');
                $subject = $data['mail_title'];
                $data['link'] = $link;
                $content = $this->load->view($email_template, $data, true);
                $this->email->subject($subject);
                $this->email->message($content);
                $status = $this->email->send();
                if ($status) {
                        return true;
                }else{
                        return false;
                }
                //echo $this->email->print_debugger();
        }
 
 
复制代码


发表于 2014-12-29 10:13:11 | 显示全部楼层
把CI的Mail类里的subject方法重写了一下,就能发邮件(QQ邮箱)了,也没啥问题

PHP复制代码
    public function subject($subject)
    {
        $subject = '=?'.$this->charset.'?B?'.base64_encode($subject).'?=';
        $this->set_header('Subject', $subject);
        return $this;
    }
 
复制代码
 楼主| 发表于 2014-12-29 10:16:44 | 显示全部楼层
wlyx 发表于 2014-12-29 10:13
把CI的Mail类里的subject方法重写了一下,就能发邮件(QQ邮箱)了,也没啥问题

...

首先感謝您的回覆

我希望的是
有一套完整的建置流程
然後獨立發一個主題
可以讓 CI 新手參考

 
发表于 2014-12-28 14:46:58 CI中国手机版 | 显示全部楼层
本人有运行项目,可发部分代码与您共享
 楼主| 发表于 2014-12-29 09:44:32 | 显示全部楼层
zhaohua0317 发表于 2014-12-28 14:46
本人有运行项目,可发部分代码与您共享

能的話可能要麻煩您
整理完發一個新的主題

畢竟那代碼是您的
您解說起來和整理會比較快
发表于 2014-12-29 10:17:04 | 显示全部楼层
嘿嘿,其实后来我也是用了 PHPMailer 。。。。。。。。
 楼主| 发表于 2014-12-29 10:21:06 | 显示全部楼层
Hex 发表于 2014-12-29 10:17
嘿嘿,其实后来我也是用了 PHPMailer 。。。。。。。。

我也是用了 PHPMailer ...
但總會有新手想了解 Email 類 {:soso_e101:}
发表于 2014-12-29 11:04:45 | 显示全部楼层
Closer 发表于 2014-12-29 10:21
我也是用了 PHPMailer ...
但總會有新手想了解 Email 類

CI 的 Email 不能正常使用吗?

发表于 2014-12-29 11:05:24 | 显示全部楼层
^淡如清风 发表于 2014-12-29 11:04
CI 的 Email 不能正常使用吗?

好像对于国内某些邮局会有问题。
发表于 2014-12-29 11:18:21 | 显示全部楼层
PHPMailer 好用吗,看来要学了。

本版积分规则