在CodeIgniter中发送电子邮件不起作用

时间:2018-04-11 08:31:14

标签: php email codeigniter-3

我正在尝试使用CodeIgniter中的SMTP发送电子邮件,但它无法正常工作。代码如下:

public function sendMail(){
    $config = array(
        'protocol'=>'smtp',
        'smtp_host'=>'ssl://smtp.gmail.com',
        'smtp_port'=>465,
        'smtp_user'=>'********@gmail.com',
        'smtp_pass'=>'*********',
        'mailpath'=> "/usr/sbin/sendmail",
        'mailtype'=>'html',
        'charset'   => 'utf-8',
        'send_multipart'=>FALSE
    );

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

    $this->email->from('******@gmail.com');
    $this->email->to('******@gmail.com');
    $this->email->cc('******@gmail.com');
    $this->email->subject('Email Test');
    $this->email->message('Testing the email class.');

    if($this->email->send()){
        echo "Email sent success";
    }else{
        show_error($this->email->print_debugger());
    }
}

我几乎尝试了我在互联网上发现的所有内容,特别是之前的堆栈问题,但似乎没有任何效果。我收到了通常的错误。

严重性:警告消息:fsockopen():无法连接到ssl://smtp.gmail.com:465(由于目标计算机主动拒绝连接,因此无法建立连接。)

文件名:libraries / Email.php 行号:2023 遇到以下SMTP错误:10061无法建立连接,因为目标计算机主动拒绝它。 无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。

1 个答案:

答案 0 :(得分:0)

事情看起来正确,你可以验证你的php_openssl.dll是否打开, 您可以使用功能验证

phpinfo()

如果您发现错误,则取消注释该行

php_openssl.dll in php.ini

希望这项工作。

相关问题