У меня проблема с отправкой почты через 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('[email protected]', 'St. Maries');
$this->email->to("[email protected]");
$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». Об этом уже позаботились и включили.
Если вы хотите попробовать, перейдите по этой ссылке и проверьте сами.