CodeIgniter拥有功能强大的Email类。以下为利用其发送邮件的代码。
关于CI的Email类的详情请参考:http://codeigniter.org.cn/user_guide/libraries/email.html
文件路径为/application/controllers/welcome.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Welcome extends CI_Controller {
public function index()
{
$this->load->library('email'); //加载CI的email类 //以下设置Email参数
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.163.com';
$config['smtp_user'] = 'mwsoft';
$config['smtp_pass'] = '******';
$config['smtp_port'] = '25';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config); //以下设置Email内容
$this->email->from('hebmlym@163.com', 'Mwsoft');
$this->email->to('43352901@qq.com');
$this->email->subject('Email Test');
$this->email->message('<font color=red>Testing the email class.</font>');
$this->email->attach('application\controllers\1.jpeg'); //相对于index.php的路径 $this->email->send(); //echo $this->email->print_debugger(); //返回包含邮件内容的字符串,包括EMAIL头和EMAIL正文。用于调试。
}
}
在加载Email类之后需要配置Email参数。配置完成之后使用$this->email->initialize($config)函数来初始化参数。
再设置邮件的内容,最后调用$this->email->send()发送邮件
。
其中要注意如果添加附件时,附件的地址是相对CI根目录下的index.php的路径。
如果不想采用初始化的方式,可以直接修改system/libraries/Email.php