PHP Codeigniter 是一個(gè)快速、簡單、優(yōu)雅的 PHP 網(wǎng)絡(luò)應(yīng)用程序開發(fā)框架,可以幫助您創(chuàng)建在Web瀏覽器和網(wǎng)絡(luò)環(huán)境中運(yùn)行的高效和靈活的應(yīng)用程序。其中的郵件發(fā)送是我們幾乎每個(gè)項(xiàng)目都需要用到的功能,使用 PHP Codeigniter 讓郵件發(fā)送變得更加簡單。下面我們就來看看基于 Codeigniter 的郵件發(fā)送功能。
首先我們需要配置 SMTP 信息,打開 config 文件夾下的 email.php 文件,找到 $config['smtp_user']、$config['smtp_pass']、$config['smtp_host']和 $config['smtp_port'] 這幾個(gè)關(guān)鍵配置項(xiàng),酌情修改,使之符合您的郵件系統(tǒng)。
$config['useragent'] = 'CodeIgniter'; $config['protocol'] = 'smtp'; $config['smtp_host'] = 'smtp.example.com'; // 通過你的SMTP服務(wù)器發(fā)送郵件 $config['smtp_user'] = 'your@email.com'; $config['smtp_pass'] = 'your password'; $config['smtp_port'] = 25; $config['smtp_timeout'] = 5; $config['smtp_crypto'] = ''; // 可選tls or ssl $config['mailtype'] = 'html'; $config['charset'] = 'utf-8'; $config['newline'] = "\r\n";接下來我們需要?jiǎng)?chuàng)建一個(gè)郵件發(fā)送的方法。使用 CodeIgniter 發(fā)送電子郵件的方法是使用 email 類。我們可以通過上傳必要的文件并創(chuàng)建視圖文件來構(gòu)造郵件內(nèi)容。下面我們看代碼。
// 加載 email library $this->load->library('email'); // 設(shè)置電子郵件標(biāo)題和收件人 $this->email->from('your@email.com', 'YourName'); $this->email->to('recipient@email.com'); // 設(shè)置電子郵件內(nèi)容,比如從參數(shù)傳遞到一個(gè)alert/email.php視圖文件 $data = array('subject' =>'Alert Email', 'message' =>'This email is sent at.'. date('Y-m-d H:i:s')); $subject = $data['subject']; $message = $this->load->view('alert/email', $data, TRUE); $this->email->subject($subject); $this->email->message($message); // 發(fā)送郵件 if ($this->email->send()) { log_message('debug', 'Email sent.'); } else { log_message('error', 'Error sending email.'); }其中,$this->email->from() 和 $this->email->to() 分別設(shè)置郵件發(fā)送者和接收者的電子郵件地址。 $subject 和 $message 分別設(shè)置郵件主題和郵件內(nèi)容。$this->email->message() 將郵件內(nèi)容放入電子郵件。最后,使用 $this->email->send() 方法將電子郵件發(fā)送出去。 此外,CodeIgniter 還提供了許多其他方法來發(fā)送電子郵件,如:
// 添加 cc 和 bcc 的收件人 $this->email->cc('another@email.com'); $this->email->bcc('yetanother@email.com'); // 添加附件 $this->email->attach('/path/to/photo.jpg'); // 自定義電子郵件頭信息 $this->email->set_header('X-Priority', '1'); $this->email->set_header('X-Mailer', 'PHP/' . phpversion()); // 刪除電子郵件頭信息 $this->email->delete_header('X-Priority'); // 確認(rèn)電子郵件發(fā)送成功 if ($this->email->send(FALSE)) { log_message('debug', 'Email sent.'); } else { log_message('error', 'Error sending email.'); }總之,使用 CodeIgniter 發(fā)送電子郵件非常簡單和容易。只需幾行代碼即可。如果您正在開發(fā)一個(gè)項(xiàng)目,需要發(fā)送電子郵件,那就試試這個(gè)功能吧!