我正在嘗試發送郵件。我想使用Gmail服務器發送,現在我只是希望它發送到相同的帳戶從它被髮送。Yii,Yiimailer不發送郵件(沒有顯示錯誤)
我使用YiiMailer延伸,因爲它似乎很容易使用,這是動作我在我的控制器:
public function actionContact()
{
$model=new ContactForm;
if(isset($_POST['ContactForm']))
{
$model->attributes=$_POST['ContactForm'];
if($model->validate())
{
$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
$subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
$headers="From: $name <{$model->email}>\r\n".
"Reply-To: {$model->email}\r\n".
"MIME-Version: 1.0\r\n".
"Content-Type: text/plain; charset=UTF-8";
// mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
$mail = new YiiMailer('contact', array(
'message'=>$model->body,
'name'=>$model->name,
'description'=>'Contact form'
));
$mail->setFrom($model->email, $model->name);
$mail->setSubject($model->subject);
$mail->setTo(Yii::app()->params['adminEmail']);
$mail->isSMTP();
$mail->host = "smtp.gmail.com";
$mail->port = 465;
$mail->Username = "[email protected]";
$mail->Password = "password";
if($mail->send())
{
Yii::app()->user->setFlash('contact','Gracias por contactarnos, te responderemos tan pronto como podamos.');
$this->refresh();
}
else
{
Yii::app()->user->setFlash('error','Error enviando correo.');
$this->refresh();
}
}
}
$this->render('contact',array('model'=>$model));
}
的adminMail就像[email protected]
相同我不知道如果我有正確的設置爲Gmail,我敢肯定,該功能的條件不存在,所以它什麼都不做。
只是爲了確保。這是我的配置:
// autoloading model and component classes
'import'=>array(
'application.models.*',
'application.components.*',
'ext.YiiMailer.YiiMailer'
),
帕金森病:我發現周圍帖子的gmail設置。我不確定他們是否改變了設置。
它不會做任何事情,如果(),也不其他()是怎麼回事..它只是需要像5秒,然後刷新頁面而不使用閃光燈。 – nosthertus
我編輯了我的代碼:使用var_dump然後退出 - 這將停止PHP繼續。 –
給了我:SMTP連接()失敗。 – nosthertus