Отправка почты с CodeIgniter по протоколу SMTP не работает - PullRequest
1 голос
/ 06 августа 2011

У меня проблема с отправкой почты с помощью CI.Я использовал протокол «sendmail» для отправки почты, но он фильтруется как спам.Я использовал протокол SMTP для решения проблемы, но он не отправляется.

Мой код выглядит следующим образом:

$config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'ssl://smtp.googlemail.com',
    'smtp_port' => 465,
    'smtp_user' => '*******@gmail.com',
    'smtp_pass' => '********',
    'mailtype'  => 'html',
    'charset'   => 'iso-8859-1'
);

$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$message = "test mail";
$this->email->set_newline("\r\n");
$this->email->from('dsiddharth2@gmail.com', 'St. Maries');
$this->email->to("dsiddharth2@gmail.com");
$this->email->subject('Contact - St. Marians Belguam');
$this->email->message($message);
if($this->email->send())
{
    echo "mail sent successfully";
}
else
{
    show_error($this->email->print_debugger());
}

Когда я отправляю электронное письмо по протоколу «smtp» в CI,Я получаю следующую ошибку:

A PHP Error was encountered

Severity: Warning

Message: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.googlemail.com:465 (Connection timed out)

Filename: libraries/Email.php

Line Number: 1673

и другие списки ошибок ...

Я попросил администратора сервера включить "openssl".Об этом уже позаботились и он включен.

Если вы хотите попробовать его, перейдите на эту ссылку и проверьте сами.

1 Ответ

0 голосов
/ 12 сентября 2013

Если это не работает, проверьте файл php.ini. Изменить эту строку

; расширение = php_openssl.dll

до

расширение = php_openssl.dll

Это означает удаление комментария из строки в файле php.ini.

...