在Code Igniter 2.02中设置电子邮件

时间:2011-06-27 00:23:57

标签: codeigniter php

我遇到了很多错误。我已经尝试了跨不同站点的几个建议,删除了父函数,删除了数组,更新了我的php ini文件,没有运气。 这是我遇到的13个错误中的第一个。

遇到PHP错误 严重性:警告 消息:fsockopen()[function.fsockopen]:无法连接到ssl://smtp.googlemail.com:465(无法找到套接字传输“ssl” - 您是否忘记在配置PHP时启用它?) 文件名:libraries / Email.php 行号:1673

有人请帮忙。

class Email extends CI_Controller
{
function index()
{
        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.googlemail.com';
        $config['smtp_port'] = 465;
        $config['smtp_user'] = 'myemail@gmail.com';
        $config['smtp_pass'] = 'mypassword';

    $this->load->library('email');
    $this->email->initialize($config);
    $this->email->set_newline("\r\n");

    $this->email->from('myemail@gmail.com', 'My Name');
    $this->email->to('myemail@gmail.com');
    $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());
    }
}

}

2 个答案:

答案 0 :(得分:10)

使用phpinfo(); .php文件中的语句,用于检查openssl扩展名是否实际加载。

php.ini启用 php_openssl

extension=php_openssl.so

如果你在Windows上,那么

extension=php_openssl.dll

答案 1 :(得分:0)

Mayowa:

也许我有点迟了,你已经解决了这个问题。

在网上搜索了很多后,我发现对于邮件配置简单的引号和双引号是不一样的。

我使用/application/config/email.php文件,经过多次尝试后我发现这不起作用:

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'myemail@gmail.com';
$config['smtp_pass'] = 'mypassword';

但这会:

$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.googlemail.com";
$config['smtp_port'] = 465;
$config['smtp_user'] = "myemail@gmail.com";
$config['smtp_pass'] = "mypassword";

希望它有所帮助。