CodeIgniter - Gửi Email
Gửi email trong CodeIgniter dễ dàng hơn nhiều. Bạn cũng định cấu hình các tùy chọn liên quan đến email trong CodeIgniter. CodeIgniter cung cấp các tính năng sau để gửi email:
- Nhiều giao thức - Mail, Sendmail và SMTP
- Mã hóa TLS và SSL cho SMTP
- Nhiều người nhận
- CC và BCC
- Email HTML hoặc Plaintext
- Attachments
- Gói từ
- Priorities
- Chế độ BCC Batch, cho phép chia danh sách email lớn thành các lô BCC nhỏ.
- Công cụ gỡ lỗi email
Lớp email có các chức năng sau đây để đơn giản hóa công việc gửi email.
SN | Cú pháp | Thông số | Trở về | Loại trả lại |
---|---|---|---|---|
1 | từ ( $ from [, $ name = '' [, $ return_path = NULL ]]) | $from( string ) - Địa chỉ e-mail "Từ" $name( string ) - Tên hiển thị “Từ” $return_path( string ) - Địa chỉ email tùy chọn để chuyển hướng e-mail chưa được gửi đến |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
2 | reply_to ( $ replyto [, $ name = '' ]) | $replyto( string ) - Địa chỉ e-mail để trả lời $name( string ) - Tên hiển thị cho địa chỉ e-mail trả lời |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
2 | đến ( $ to ) | $to( hỗn hợp ) - Chuỗi được phân tách bằng dấu phẩy hoặc một mảng địa chỉ e-mail |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
3 | cc ( $ cc ) | $cc( hỗn hợp ) - Chuỗi được phân tách bằng dấu phẩy hoặc một mảng địa chỉ e-mail |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
4 | bcc ( $ bcc [, $ limit = '' ]) | $bcc( hỗn hợp ) - Chuỗi được phân tách bằng dấu phẩy hoặc một mảng địa chỉ e-mail $limit( int ) - Số lượng e-mail tối đa để gửi mỗi đợt |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
5 | chủ đề ( $ chủ đề ) | $subject( string ) - Dòng tiêu đề email |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
6 | tin nhắn ( $ body ) | $body( string ) - Nội dung thư e-mail |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
7 | set_alt_message ( $ str ) | $str( string ) - Nội dung thư e-mail thay thế |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
số 8 | set_header ( $ header, $ value ) | $header( string ) - Tên tiêu đề $value( chuỗi ) - Giá trị tiêu đề |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
9 | rõ ràng ([ $ clear_attachments = FALSE ]) | $clear_attachments( bool ) - Có xóa tệp đính kèm hay không |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
10 | gửi ([ $ auto_clear = TRUE ]) | $auto_clear( bool ) - Có tự động xóa dữ liệu tin nhắn không |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
11 | đính kèm ($ filename [, $ disposition = '' [, $ newname = NULL [, $ mime = '']]]) | $filename( string ) - Tên tệp $disposition( string ) - 'định vị' của tệp đính kèm. Hầu hết các ứng dụng email đều đưa ra quyết định của riêng họ bất kể đặc điểm kỹ thuật MIME được sử dụng ở đây. iana $newname( string ) - Tên tệp tùy chỉnh để sử dụng trong e-mail $mime( chuỗi ) - Loại MIME để sử dụng (hữu ích cho dữ liệu được lưu trong bộ đệm) |
Cá thể CI_Email (chuỗi phương thức) | CI_Email |
12 | attachment_cid ( $ filename ) | $filename( string ) - Tên tệp đính kèm hiện có |
Tệp đính kèm Content-ID hoặc FALSE nếu không tìm thấy | chuỗi |
Gửi một e-mail
Để gửi email bằng CodeIgniter, trước tiên bạn phải tải thư viện email bằng cách sử dụng như sau:
$this->load->library('email');
Sau khi tải thư viện, chỉ cần thực hiện các chức năng sau để thiết lập các yếu tố cần thiết để gửi email. Cácfrom() được sử dụng để đặt - từ nơi email được gửi và to()được sử dụng - email sẽ được gửi cho ai. Cácsubject() và message() được sử dụng để đặt chủ đề và thông điệp của email.
$this->email->from('[email protected]', 'Your Name');
$this->email->to('[email protected]');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
Sau đó, thực hiện send() chức năng như hình dưới đây để gửi email.
$this->email->send();
Thí dụ
Tạo tệp điều khiển Email_controller.php và lưu nó vào application/controller/Email_controller.php.
<?php
class Email_controller extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library('session');
$this->load->helper('form');
}
public function index() {
$this->load->helper('form');
$this->load->view('email_form');
}
public function send_mail() {
$from_email = "[email protected]";
$to_email = $this->input->post('email');
//Load email library
$this->load->library('email');
$this->email->from($from_email, 'Your Name');
$this->email->to($to_email);
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
//Send mail
if($this->email->send())
$this->session->set_flashdata("email_sent","Email sent successfully.");
else
$this->session->set_flashdata("email_sent","Error in sending Email.");
$this->load->view('email_form');
}
}
?>
Tạo một tệp dạng xem có tên email_form.php và lưu nó tại application/views/email_form.php
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter Email Example</title>
</head>
<body>
<?php
echo $this->session->flashdata('email_sent');
echo form_open('/Email_controller/send_mail');
?>
<input type = "email" name = "email" required />
<input type = "submit" value = "SEND MAIL">
<?php
echo form_close();
?>
</body>
</html>
Thực hiện các thay đổi trong routes.php trong tập tin application/config/routes.php và thêm dòng sau vào cuối tệp.
$route['email'] = 'Email_Controller';
Thực hiện ví dụ trên bằng cách truy cập liên kết sau. Thay thế trang web của bạn bằng URL của trang web của bạn.
http://yoursite.com/index.php/email