以下是我用来使用消息的"电子邮件"、"主题"和"内容"发送电子邮件的 send_mail() 模型函数。在本地,该网站通过gmail完美地发送电子邮件,但在托管服务器上,它给了我一个SMTP错误: 无法连接到 ssl://smtp.gmail.com 。
function send_mail( $mail, $subject, $msg )
{
$receiver = $mail;
$title = $subject;
$sender = "Dina";
$sender_mail = "myemail@gmail.com";
$message = '<html><body>';
//$message .= "Hey $mail,<br><br>";
$message .= $msg;
$message .= "</body></html>";
$ci = get_instance();
$ci->load->library('email');
$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.gmail.com";
$config['smtp_port'] = "465";
$config['smtp_user'] = "myemail@gmail.com";
$config['smtp_pass'] = "password";
$config['charset'] = "utf-8";
$config['mailtype'] = "html";
$config['newline'] = "'r'n";
$ci->email->initialize($config);
$ci->email->from($sender_mail, $sender);
$list = array($receiver);
$ci->email->to($list);
$this->email->reply_to('myemail@gmail.com', 'Dina');
$ci->email->subject($title);
$ci->email->message($message);
// $ci->email->send();
if(!$ci->email->send())
{
$this->email->print_debugger();
}
}
也许托管公司禁止在他们的防火墙上使用这些端口,你应该问他们。