我目前正在使用CodeIgniter处理REST API。我有一个使用gmail smtp的电子邮件验证系统,可以在localhost上正常工作。但是当我将它上传到VPS服务器时,它无法正常工作。
这是我的代码:
protected function send_confirmation($email, $hash){
$config = array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx@gmail.com',
'smtp_pass' => 'xxx',
'mailtype' => 'html',
'charset' => 'utf-8',
'crlf' => "\r\n",
'newline' => "\r\n"
);
$this->load->library('email', $config);
$mail = $this->email;
$mail->from('no-reply@example.com', 'Example.com');
$mail->to($email);
$mail->subject('Email Verification');
$encodemail = urlencode($email);
$message = 'Some messages here.';
$mail->message($message);
$mail->send();
}
另请注意,我使用的是 PHP 7.2 ,并且我尝试了很多配置,但似乎没有什么能在VPS服务器上运行。
答案 0 :(得分:0)
试试这些
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.gmail.com', #changed
'smtp_port' => 587, #changed
'smtp_user' => 'xxx@gmail.com',
'smtp_pass' => 'xxx',
'mailtype' => 'html',
'charset' => 'utf-8',
'newline' => "\r\n"
);
或使用PHPMailer