【问题标题】:SMTP Gmail error with Codeigniter 2.1.3Codeigniter 2.1.3 的 SMTP Gmail 错误
【发布时间】:2012-11-08 07:47:32
【问题描述】:

我看过很多与这个问题相关的帖子,我已经完成了给出的说明,但总是得到同样的错误..

我想使用 Code Igniter 2.1.3 发送 smtp gmail,代码如下:

class Email extends CI_Controller{

function index(){

$config = Array(
'protocol'      => 'smtp',
'smtp_crypto'   => 'ssl',
'smtp_host'     => 'smtp.gmail.com',
'smtp_user'     => 'myEmail@gmail.com',
'smtp_pass'     => '***********',
'smtp_port'     => 25,
'mailtype'      => 'text',
'smtp_timeout'  =>  15, 
'charset'       => 'iso-8859-1'
);
$this->load->library('email', $config);

$this->email->set_crlf("\r\n");
$this->email->set_newline("\r\n");
$this->email->from("myEmail@gmail.com", "myName");
$this->email->to("myEmail@gmail.com");
$this->email->subject("Email Test");
$this->email->message("This is email test");

if($this->email->send()){
    echo 'Email Send';
    }   else{
        show_error($this->email->print_debugger());
    }
}

而且错误总是这样,

Message: fsockopen(): unable to connect to ssl://smtp.gmail.com:25 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. )

请帮我解决这个错误,谢谢:)

【问题讨论】:

  • 如果我的回答对你有用,请接受它作为答案。

标签: php codeigniter email smtp


【解决方案1】:

您需要在服务器配置中的 php.ini 文件中启用您的 ssl,如果您使用的是 Xampp 服务器,您可以检查它是否已启用。在那去 PHP 信息搜索 ssl ............

您需要删除 ; extension=php_openssl.dll 之前的这一行在 php.ini 文件中。

您需要启用 OpenSSL........

我最近遇到了这个错误。你的代码有一个小错误............

function sendMail()
{
    $config = Array(
  'protocol' => 'smtp',
  'smtp_host' => 'ssl://smtp.googlemail.com',
  'smtp_port' => 465,
  'smtp_user' => 'xxx@gmail.com', // change it to yours
  'smtp_pass' => 'xxx', // change it to yours
  'mailtype' => 'html',
  'charset' => 'iso-8859-1',
  'wordwrap' => TRUE
);

        $message = $this->load->view('upload_success','',TRUE);
        $this->load->library('email', $config);
      $this->email->set_newline("\r\n");
      $this->email->from('xxx@gmail.com'); // change it to yours
      $this->email->to('yyy@gmail.com');// change it to yours
      $this->email->subject('Resume from JobsBuddy for your Job posting');
      $this->email->message($message);
      if($this->email->send())
     {
      echo 'Email sent.';
     }
     else
    {
     show_error($this->email->print_debugger());
    }

}

这是我在解决您面临的问题后正在使用的工作代码.....

【讨论】:

  • 我试过你的代码,但有同样的错误,我在我的 php.ini 上启用了 open ssl 扩展..
  • 你怎么能说你启用了你的 openssl 在启用。你有证据吗。检查本地主机。 PHP 信息选项卡搜索 openssl。你会发现已启用。
  • 我检查了 phpinfo,opensll 支持已启用,我正在使用 wamp 服务器。
  • k 检查启用的套接字流............我也在 windows 中使用 xampp 服务器。
猜你喜欢
  • 2010-12-04
  • 1970-01-01
  • 2018-12-21
  • 2018-05-17
  • 2015-12-31
  • 2012-06-01
  • 2012-10-18
  • 2017-10-15
  • 2012-06-01
相关资源
最近更新 更多