Reputation: 143
I’m getting a lot of errors. And I've tried several suggestion across different sites, deleted the parent function, removed the array, updated my php ini file, no luck. This is the first of 13 errors I’m getting.
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
Someone please help.
class Email extends CI_Controller
{
function index()
{
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = '[email protected]';
$config['smtp_pass'] = 'mypassword';
$this->load->library('email');
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from('[email protected]', 'My Name');
$this->email->to('[email protected]');
$this->email->subject('This is an email test');
$this->email->message('Its working. Great!');
if($this->email->send())
{
echo 'Your email was sent, dude.';
}
else
{
show_error($this->email->print_debugger());
}
}
}
Upvotes: 6
Views: 9324
Reputation: 225
Mayowa:
Perhaps I'm a little late and you already has this solved.
After searching a lot in the web I found out that for mail configuration simple quotes and double quotes is not the same.
I use the /application/config/email.php file and after many attempts I found out that this will not work:
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = '[email protected]';
$config['smtp_pass'] = 'mypassword';
But this will:
$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.googlemail.com";
$config['smtp_port'] = 465;
$config['smtp_user'] = "[email protected]";
$config['smtp_pass'] = "mypassword";
Hope it helps.
Upvotes: 0
Reputation: 165343
Use a phpinfo(); statement in a .php file to check if the openssl extension actually loaded.
In your php.ini
enable php_openssl
extension=php_openssl.so
if you are on Windows, then
extension=php_openssl.dll
Upvotes: 10