/ / Codeigniter / Comments (7)

Gửi mail trong CodeIgniter Framework 3.x đơn giản nhất

Gửi mail là chức năng rất quan trọng đối với bất kỳ website nào,nó giúp ta có thể gửi những thông điệp tới cho khách hàng,giúp ta bán hàng hiệu quả hơn và đặc biệt nó cực kỳ quan trọng đối với việc marketing email.Trong bài hôm nay mình sẽ hướng dẫn các bạn cách gửi mail trong CodeIgniter Framework.Trong codeigniter hỗ trợ thư viện email giúp ta thực hiện việc gửi email một cách dễ dàng và nó cũng cung cấp nhiều phương thức khá hay,chúng ta sẽ cùng nhau đi tìm hiểu về các phương thức đó nhé.

gửi mail trong codeigniter

gửi mail trong codeigniter

Tìm hiểu thư viện gửi mail trong codeigniter

– Thư viện email trong codeigniter hỗ trợ nhiều tính năng rất mạnh mẽ như:

    1. Hỗ trợ nhiều phương thức gửi mail như: Mail, Sendmail, and SMTP
    2. Hỗ trợ nhiều nhiều nhận CC BCCs
    3. Hỗ trợ HTML hoặc Plaintext email
    4. Cho phép đính kèm tập tin gửi mail

….

Các phương thức quan trọng trong thư viện email của codeigniter

Cấu hình gửi email

– Để sử dụng được thư viện email trước tiên chúng ta cần load thư viện đó ra bằng cách:

$this->load->library('email');

– Chúng ta có thể cấu hình gửi mail trong codeigniter bằng mảng các giá trị tùy chọn thông qua phương thức initialize,ví dụ:

$config['protocol'] = 'sendmail';
$config['charset']  = 'utf-8';
$config['mailtype'] = 'html';
$config['wordwrap'] = TRUE;

$this->email->initialize($config);

Đối với những bạn sư dụng gửi mail theo phương thức smtp thì cần thêm các cấu hình khác cho nó nhé,ví dụ:

$config['protocol'] 	= 'smtp';
$config['smtp_host'] 	= 'ssl://smtp.googlemail.com'; //neu sử dụng gmail
$config['smtp_user'] 	= 'xxxxx';
$config['smtp_pass'] 	= 'xxxxx';
$config['smtp_port'] 	= '465'; //nếu sử dụng gmail

Các phương thức quan trọng:

$this->email->from() : Thiết lập địa chỉ email và tên của người gửi email,ví dụ:

$this->email->from('support@hocphp.info', 'Hoàng văn Tuyền');

$this->email->to() : Thiết lập địa chỉ email người nhận,có thể cấu hình 1 người nhận hoặc nhiều người nhận cách nhau bằng dấu ‘,’ hoặc thiết lập 1 mảng danh sách email nhận,ví dụ:

//gửi tới 1 người
$this->email->to('someone@example.com');
//gửi tới nhiều người
$this->email->to('one@example.com, two@example.com, three@example.com');
//hoặc
$list = array('one@example.com', 'two@example.com', 'three@example.com');
$this->email->to($list);

$this->email->subject() : Thiết lập tiêu đề gửi mail,ví dụ:

$this->email->subject('Tiêu đề gửi');

$this->email->message() : Thiết lập nội dung gửi mail,ví dụ:

$this->email->message('Nội dung gửi');

$this->email->attach() : Đính kèm thêm file gửi,ví dụ:

$this->email->attach('/path/to/photo1.jpg');
$this->email->attach('/path/to/file.zip');

$this->email->print_debugger() : Sử dụng trong trường hợp tìm lỗi,ví dụ:

$this->email->print_debugger()

$this->email->send() :Phương thức thực hiện gửi email,ví dụ:

if ( ! $this->email->send())
{
    // Generate error
    echo $this->email->print_debugger();
}else{
    echo 'Gửi email thành công';
}

$this->email->clear() : Khởi tạo lại cấu hình,thường được sử dụng trong các vòng lặp gửi nhiều mail ,ví dụ:

$this->email->clear()

Ví dụ tổng quát:

– Sau đây là ví dụ về gửi mail trong codeigniter framework

$this->load->library('email');
// Cấu hình
$config['protocol'] = 'sendmail';
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);

//cau hinh email va ten nguoi gui
$this->email->from('support@hocphp.info', 'Hoàng văn Tuyền');
//cau hinh nguoi nhan
$this->email->to('someone@example.com');

$this->email->subject('Tiêu đề gửi mail');
$this->email->message('Nội dung gửi mail.');

//dinh kem file
$this->email->attach('/path/to/photo1.jpg');
//thuc hien gui
if ( ! $this->email->send())
{
    // Generate error
    echo $this->email->print_debugger();
}else{
    echo 'Gửi email thành công';
}

– Với ví dụ trên chắc các bạn cũng biết cách cấu hình và các phương thức quan trọng trong thư viện email của codeignier rồi phải không,để tìm hiểu thêm 1 số phương thức khác các bạn có thể vào đây để xem.Chúc các bạn thành công!



25/02/2016
Written by admin

Hiện do a Tuyền (nguyên adminsite hocphp.info) không còn thời gian để phát triển site, nên do có cơ duyên và được a tin tưởng để cho mình tiếp tục phát triển. Hi vọng mọi người cùng nhau phát triển và chia sẽ nhiều hơn nữa, ngoài ra mình cũng cố gắng chia sẽ các seri về web cũng như các ngôn ngữ khác chất nhất có thể. có gì thiếu sót hi vọng mọi người bỏ qua.

Bài viết chùng chuyên mục

7 Comments

  1. Hùng says:
     /  Reply

    Chào bạn, sao mình cấu hình rồi nhưng vẫn không thể gửi mail được bằng gmail với phương thức smtp. bạn có thể hướng dẫn giúp mình được không vậy,

    • Hoàng văn Tuyền says:
       /  Reply

      bạn thử post đoạn code cấu hình lên mình xem cho.

    • Hùng says:
       /  Reply

      public function sendmail(){
      $this->load->library(’email’);
      // Cấu hình
      $config[‘protocol’] = ‘smtp’;
      $config[‘smtp_host’] = ‘ssl://smtp.googlemail.com’; //neu sử dụng gmail
      $config[‘smtp_user’] = ‘ha.woo.hun@gmail.com’;
      $config[‘smtp_pass’] = ‘******’;
      $config[‘smtp_port’] = ‘465’; //nếu sử dụng gmail
      $this->email->initialize($config);

      //cau hinh email va ten nguoi gui
      $this->email->from(‘ha.woo.hun@gmail.com’, ‘GỬI MAIL’);
      //cau hinh nguoi nhan
      $this->email->to(‘ha.woo.hun@gmail.com’);

      $this->email->subject(‘Tiêu đề gửi mail’);
      $this->email->message(‘Nội dung gửi mail.’);

      //thuc hien gui
      if ( ! $this->email->send())
      {
      // Generate error
      echo $this->email->print_debugger();
      }else{
      echo ‘Gửi email thành công’;
      }

      }

      Tài khoản smtp đó mình test thử trong wordpress thì gửi được mail, nhưng ở đây thì lại báo sai mật khẩu người dùng á

  2. Hải says:
     /  Reply

    cho em hỏi: ở phương thức sendmail, em không thấy phải config pass của email người gửi, vậy vẫn có thể gửi email sao ạ?

    • Hoàng văn Tuyền says:
       /  Reply

      Có cấu hình sao bạn:
      //cau hinh email va ten nguoi gui
      $this->email->from(‘support@hocphp.info’, ‘Hoàng văn Tuyền’);

      • Truyền Thông Vina says:
         /  Reply

        Ý của bạn @Hải là gửi email bằng sendmail chỉ yêu cầu email và tên người gửi, không phải nhập mật khẩu giống sử dụng SMTP 😀 😀

  3. Đặng Lưu Nhật Tân says:
     /  Reply

    Bổ sung bên trên cho những bạn mới dùng SMPT lần đầu. Đó là phải đăng ký và lấy Pass cho phần $config[‘smtp_pass’] = ‘xxxxx’; bằng cách bật chức năng mật khẩu 2 lớp của Google. Các bạn có thể tham khảo ở đây: https://thachpham.com/wordpress/wordpress-tutorials/smtp-gmail-wordpress.html

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Liên hệ
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL