【问题标题】:Sending email in CodeIgniter not working在 CodeIgniter 中发送电子邮件不起作用
【发布时间】:2018-09-21 01:16:46
【问题描述】:

我正在尝试在 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 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。

【问题讨论】:

标签: php email codeigniter-3


【解决方案1】:

事情看起来正确,你能验证你的 php_openssl.dll 是否打开, 可以通过函数验证

phpinfo()

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

php_openssl.dll in php.ini

希望这项工作。

【讨论】:

  • php_openssl.dll 未注释,但问题仍然存在。
  • 在您的配置中添加“smtp_crypto”,可能的选项是“'tls' 或 'ssl'”
猜你喜欢
  • 2017-10-21
  • 1970-01-01
  • 2017-11-30
  • 2014-06-17
  • 2015-04-09
  • 2017-03-08
  • 1970-01-01
  • 2014-07-13
  • 2015-11-03
相关资源
最近更新 更多