使用 var_dump($mail->send()) 时出现错误 bool(false);在 phpmailer

error bool(false) when use var_dump($mail->send()); at phpmailer

$mail = new YiiMailer();
$mail->setView('contact');
$mail->setData(array('register' => $model,'user' =>$user));
//$mail->clearLayout();//if layout is already set in config
$mail->setFrom('xxxx@gmail.com', 'amatra');
$mail->setTo($model->client_email);
$mail->setSubject('Amatra Registration');
$mail->setBody('Thank u for registering, to get server licence activation key ');
$mail->setSmtp('smtp.gmail.com', 465, 'ssl', true, 'xxxx@gmail.com', 'aconxontheroad');

var_dump($mail->send());
if($mail->send()) {
    return true;    
} else {
    return false;
}

我更改了端口和 SMTPSecure,但仍然输出 bool (false),我无法推断出错误所在。

$mail->SMTPDebug = 1; //optional

你可以参考这个post清楚: Yii, Yiimailer doesn't send the mail (no error shown)

试试 Yii2 Swift 邮件程序。

Yii::$app->mailer->compose('contact/html')
 ->setFrom('from@domain.com')
 ->setTo($form->email)
 ->setSubject($form->subject)
 ->send();

https://www.yiiframework.com/extension/yiisoft/yii2-swiftmailer