10/10/2018, 11:21

Cần giúp đỡ về CodeIgniter

Mình gặp vấn đề về Send Mail bằng Gmail
Code:
$config = Array(
		  'protocol' => 'smtp',
		  'smtp_host' => 'ssl://smtp.googlemail.com',
		  'smtp_port' => 465,
		  'smtp_user' => 'ngocthang.ictu@gmail.com',
		  'smtp_pass' => 'password',
		);
		$this->load->library('email', $config);
		$this->email->set_newline("
");
		
		$this->email->from('ngocthang.ictu@gmail.com', 'Mr. Test');
		$this->email->to('ngocthang.ictu@gmail.com');
		
		$this->email->subject(' My mail through codeigniter from localhost ');
		$this->email->message('Hello World…');
		
		
		if (!$this->email->send())
		  show_error($this->email->print_debugger());
		else
		  echo 'Your e-mail has been sent!';
Và lỗi gặp phải là:
A PHP Error was encountered

Severity: Warning

Message: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.googlemail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)

Filename: libraries/Email.php

Line Number: 1673
///////////
A PHP Error was encountered

Severity: Warning

Message: fwrite(): supplied argument is not a valid stream resource

Filename: libraries/Email.php

Line Number: 1816
Mình send mail từ localhost và mình đang xài phiên bản Version 2.0.2
Mong các bạn chỉ giáo giùm. Cảm ơn rất nhiều
kiem_bo viết 13:27 ngày 10/10/2018
bạn vô file httpd.conf của apache tìm
LoadModule ssl_module modules/mod_ssl.so
bỏ # ở trước là được.

Khởi động lại apache và chạy lại thử được ko
ngoc_viet08 viết 13:25 ngày 10/10/2018
send email trong localhost là 1 đống bullshit! mình đã try và nản. chắc phải cài 1 email server ở local thì mới chạy được ko đơn thuần là apache. tốt nhất kiếm hosting mà test cho lành :|
1cnb07 viết 13:26 ngày 10/10/2018
nó báo bạn chưa mở ssl kìa, bạn mở php.ini tìm dòng dưới và bỏ dấu ; đi. Mình đã chạy thử ok
;extension=php_openssl.dll
đây là đoạn config của mình trong file email.php của thư mục config :
Code:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'kyo.cnb07@gmail.com'; // your gmail
$config['smtp_pass'] = 'pass'; // pass gmail
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['mailtype'] = 'html'; // or html
$config['validation'] = TRUE; // bool whether to validate email or not
kiem_bo viết 13:26 ngày 10/10/2018
Được gửi bởi ngoc_viet08
send email trong localhost là 1 đống bullshit! mình đã try và nản. chắc phải cài 1 email server ở local thì mới chạy được ko đơn thuần là apache. tốt nhất kiếm hosting mà test cho lành :|
bạn đã đọc kỹ source người khác chưa hay chỉ là đọc lướt qua thấy gởi mail trên localhost rồi phán này phán nọ.
nnquangit viết 13:34 ngày 10/10/2018
Được gửi bởi ngoc_viet08
send email trong localhost là 1 đống bullshit! mình đã try và nản. chắc phải cài 1 email server ở local thì mới chạy được ko đơn thuần là apache. tốt nhất kiếm hosting mà test cho lành :|
chủ topic đâu làm local ssl://smtp.googlemail.com

Mà chủ topic cho hỏi sao phải send mail = ssl vậy nhỉ ? Thấy lạ lạ thường tui gửi smtp ko nhưng bác gửi sao lại có ssl vậy ?
lins viết 13:27 ngày 10/10/2018
về cơ bản mail smtp đi ra qua cổng 465(SSL), bạn chưa enable cái ssl của nó lên làm sao mà mail chạy được

[=========> Bổ sung bài viết <=========]

Được gửi bởi nnquangit
chủ topic đâu làm local ssl://smtp.googlemail.com

Mà chủ topic cho hỏi sao phải send mail = ssl vậy nhỉ ? Thấy lạ lạ thường tui gửi smtp ko nhưng bác gửi sao lại có ssl vậy ?
bạn không biết ssl là gì thì có thể search để biết chi tiết, nó là SSL(Secure Socket Layer) là một giao thức(protocol) cho phép bạn truyền đạt thông tin một cách an toàn qua mạng.
vn.minh viết 13:33 ngày 10/10/2018
Được gửi bởi ngoc_viet08
send email trong localhost là 1 đống bullshit! mình đã try và nản. chắc phải cài 1 email server ở local thì mới chạy được ko đơn thuần là apache. tốt nhất kiếm hosting mà test cho lành :|
Bác này quăng bom dữ quá
tongvanhoa viết 13:37 ngày 10/10/2018
Được gửi bởi kiem_bo
bạn vô file httpd.conf của apache tìm
LoadModule ssl_module modules/mod_ssl.so
bỏ # ở trước là được.

Khởi động lại apache và chạy lại thử được ko
Bạn ui, mình làm như bạn, đến khi restart Apache thì apache ko chạy. Bạn xem lỗi này giúp mình nhé! Cảm ơn nhiều.
esolus viết 13:22 ngày 10/10/2018
Được gửi bởi tongvanhoa
Bạn ui, mình làm như bạn, đến khi restart Apache thì apache ko chạy. Bạn xem lỗi này giúp mình nhé! Cảm ơn nhiều.
Kiểm tra xem có file ssl_module modules/mod_ssl.so không?
Bài liên quan
0