Отправить письмо по электронной почте класса в codeigniter с Gmail - PullRequest
3 голосов
/ 05 марта 2012

Я хочу отправить письмо по электронной почте в Codeigniter с помощью gmail, но получаю следующую ошибку:

Ошибка:

Обнаружена ошибка PHP
Серьезность: Предупреждение
Message: mail () [function.mail]: не удалось подключиться к почтовому серверу через порт «ssl: //smtp.googlemail.com» 25, проверьте настройки «SMTP» и «smtp_port» в php.ini или используйтеini_set ()
Имя файла: library / Email.php
Номер строки: 1553

Это моя полная функция в контроле:

function send_mail(){
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = 465;
$config['smtp_user'] = 'xyz@gmail.com';
$config['smtp_pass'] = 'xxxxxxx';

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

$this->email->from('neginph@gmail.com', 'Negin Phosphate Shomal');
$this->email->to('neginfos@yahoo.com');
$this->email->subject('This is an email test');
$this->email->message('It is working. Great!');

if($this->email->send())
{
    echo 'Your email was sent, successfully.';
}

else
{
    show_error($this->email->print_debugger());
}
}

Iизменил SMTP в php.ini следующим образом:

SMTP = ssl: //smtp.googlemail.com
smtp_port = 25

Что мне делать?

С уважением

Ответы [ 3 ]

7 голосов
/ 05 марта 2012

это то, что у меня сработало

$email_config = Array(
            'protocol'  => 'smtp',
            'smtp_host' => 'ssl://smtp.googlemail.com',
            'smtp_port' => '465',
            'smtp_user' => 'someuser@gmail.com',
            'smtp_pass' => 'password',
            'mailtype'  => 'html',
            'starttls'  => true,
            'newline'   => "\r\n"
        );

        $this->load->library('email', $email_config);

        $this->email->from('someuser@gmail.com', 'invoice');
        $this->email->to('test@test.com');
        $this->email->subject('Invoice');
        $this->email->message('Test');

        $this->email->send();
0 голосов
/ 12 июля 2014

Это работает для меня на localhost:

<?php
     class Email extends CI_controller
     {
        function index()
        {

         $this->load->library('email');
         $this->load->helper('url');
         $this->load->helper('form');

        $config= Array(
            'protocol'  =>'localhost',
            'smtp_host' => 'localhost',
            'smtp_port' => 'localhost',
            'smtp_user'=>  'root',
            'smtp_pass' =>''
            );

        $this->load->library('email','$config');
        $this->email->set_newline("\r\n");
        $this->email->from('nisha@gmail.com','nisha');
        $this->email->to('cse1473@gmail.com');
        $this->email->subject('this is email with subject');
        $this->email->message('it s working properly');

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

?>
0 голосов
/ 05 марта 2012

Вы включили php_openssl?

Попробуйте раскомментировать extension=php_openssl.dll в файле php.ini.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...