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

EMAIL要怎么设置?

[复制链接]
发表于 2009-7-1 21:42:54 | 显示全部楼层 |阅读模式
控制器的代码如下
        function email(){
                $this->load->library('email');
                $this->email->from('78577089@qq.com', 'zw');
                $this->email->to('berryz_0@tom.com');
                $this->email->cc('another@another-example.com');
                $this->email->bcc('them@their-example.com');
                $this->email->subject('Email Test');
                $this->email->message('Testing the email class.');
                $this->email->send();
                echo $this->email->print_debugger();
               
        }

那我在Libraries的email.php里要更改哪些设置呢

class CI_Email {

        var        $useragent                = "CodeIgniter";
        var        $mailpath                = "/usr/sbin/sendmail";        // Sendmail path
        var        $protocol                = "mail";        // mail/sendmail/smtp
        var        $smtp_host                = "";                // SMTP Server.  Example: mail.earthlink.net
        var        $smtp_user                = "";                // SMTP Username
        var        $smtp_pass                = "";                // SMTP Password
        var        $smtp_port                = "25";                // SMTP Port
        var        $smtp_timeout        = 5;                // SMTP Timeout in seconds
        var        $wordwrap                = TRUE;                // TRUE/FALSE  Turns word-wrap on/off
        var        $wrapchars                = "76";                // Number of characters to wrap at.
        var        $mailtype                = "text";        // text/html  Defines email formatting
        var        $charset                = "utf-8";        // Default char set: iso-8859-1 or us-ascii
        var        $multipart                = "mixed";        // "mixed" (in the body) or "related" (separate)
        var $alt_message        = '';                // Alternative message for HTML emails
        var        $validate                = FALSE;        // TRUE/FALSE.  Enables email validation
        var        $priority                = "3";                // Default priority (1 - 5)
        var        $newline                = "\n";                // Default newline. "\r\n" or "\n" (Use "\r\n" to comply with RFC 822)
        var $crlf                        = "\n";                // The RFC 2045 compliant CRLF for quoted-printable is "\r\n".  Apparently some servers,
                                                                        // even on the receiving end think they need to muck with CRLFs, so using "\n", while
                                                                        // distasteful, is the only thing that seems to work for all environments.
        var $send_multipart        = TRUE;                // TRUE/FALSE - Yahoo does not like multipart alternative, so this is an override.  Set to FALSE for Yahoo.
        var        $bcc_batch_mode        = FALSE;        // TRUE/FALSE  Turns on/off Bcc batch feature
        var        $bcc_batch_size        = 200;                // If bcc_batch_mode = TRUE, sets max number of Bccs in each batch
        var $_safe_mode                = FALSE;
        var        $_subject                = "";
        var        $_body                        = "";
        var        $_finalbody                = "";
        var        $_alt_boundary        = "";
        var        $_atc_boundary        = "";
        var        $_header_str        = "";
        var        $_smtp_connect        = "";
        var        $_encoding                = "8bit";
        var $_IP                        = FALSE;
        var        $_smtp_auth                = FALSE;
        var $_replyto_flag        = FALSE;
        var        $_debug_msg                = array();
        var        $_recipients        = array();
        var        $_cc_array                = array();
        var        $_bcc_array                = array();
        var        $_headers                = array();
        var        $_attach_name        = array();
        var        $_attach_type        = array();
        var        $_attach_disp        = array();
        var        $_protocols                = array('mail', 'sendmail', 'smtp');
        var        $_base_charsets        = array('us-ascii', 'iso-2022-');        // 7-bit charsets (excluding language suffix)
        var        $_bit_depths        = array('7bit', '8bit');
        var        $_priorities        = array('1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)');




是上面的要设置吧,如果不是请告诉我还需要设置哪个地方?
发表于 2009-7-1 23:48:56 | 显示全部楼层
参考 http://codeigniter.org.cn/user_guide/libraries/email.html

你绝对不能修改 email 类库里的配置信息,因为没必要。

楼主的控制器里缺少一个 Email 协议配置,$config['protocol'] = 'xxx'; 具体请参考手册,都有详细说明。
发表于 2009-7-3 16:42:00 | 显示全部楼层
我好像写过一篇文章的
发表于 2009-7-3 16:52:57 | 显示全部楼层
本帖最后由 yinzhili 于 2009-7-3 16:58 编辑

不用修改。控制器里配置好参数,或者新建一个配置文件来保存参数就可以。比方说,你有一个网易邮箱,且又开通了SMTP功能,那么你就可以这样发邮件:


function send_mail(){
     $this->load->library('email');
     $config['protocol'] = 'smtp';
     $config['smtp_host']= 'smtp.163.com'; //此处更换为实际使用的服务器地址
     $config['smtp_user']= 'username'; //此处为邮箱用户名
     $config['smtp_pass']= '******'; //此处为邮箱的密码
            
     $this->email->initialize($config);
     $this->email->from(' username@163.com', 'username'); //这里填的信息会显示在邮件的发件人字段中
     $this->email->to('john@hotmail.com');//要发给谁就填写谁的邮箱
     $this->email->subject('邮件的标题');
     $this->email->message('这里写邮件的内容。');
     $this->email->send();
}

本版积分规则