PHP电子邮件发送。适用于http:// localhost /但不适用于http:// {IP ADDRESS} /

时间:2015-04-08 11:13:51

标签: php apache codeigniter

我正在使用此代码从localhost发送电子邮件。它在codeIgniter中。我的操作系统是Ubuntu 14.XX

function email()
    {
        $config = array(
        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => '*****@gmail.com', // change it to yours
        'smtp_pass' => '*****', // change it to yours
        'mailtype' => 'html',
        'charset' => 'UTF-8',
        );

        $message = 'aggasdgsd';
        $this->load->library('email', $config);
        $this->email->set_newline("\r\n");
        $this->email->from('*****@gmail.com'); // change it to yours
        $this->email->to('****@gmail.com');// change it to yours
        $this->email->subject('Rdfgsdfgf ing');
        $this->email->message($message);
        if($this->email->send())
       {
        echo 'Email sent.';
       }
       else
      {
       show_error($this->email->print_debugger());
      }
    }

当我使用网址http://localhost/ci_project/email时,会收到电子邮件 如果我使用URL http://10.10.10.XX/ci_project/email,它不起作用,也没有错误消息。

有任何想法,为什么它在URL&中使用localhost时有效我在URL中使用IP地址时无法正常工作

2 个答案:

答案 0 :(得分:1)

检查服务器上是否有电子邮件服务器正在运行。如果您使用的是sendmail,请在服务器上尝试此命令 service sendmail restart

答案 1 :(得分:0)

你的PHP配置上是否启用ssl? 检查你的php.ini

中是否有以下行
extension=php_openssl.dll