Email 收件人在yii 1.1中发送邮件时收到同一邮件两次
我正在尝试向收件人一次发送一封邮件。我的代码如下:Email 收件人在yii 1.1中发送邮件时收到同一邮件两次,email,yii,Email,Yii,我正在尝试向收件人一次发送一封邮件。我的代码如下: $message = new YiiMailMessage; $message->view = "mail"; $params = array('sendEmail'=>$values); $message->subject = $values['subject']; $message->setBody($params, 'text/html'); $message->from =$values['email_fr
$message = new YiiMailMessage;
$message->view = "mail";
$params = array('sendEmail'=>$values);
$message->subject = $values['subject'];
$message->setBody($params, 'text/html');
$message->from =$values['email_from'] ;
$message->addTo($values['email_to']);
if(Yii::app()->mail->send($message)){
Yii::app()->user->setFlash('success','Success sending email. ');
$this->redirect(array('mail/admin'));
}else{
Yii::app()->user->setFlash('error','Error while sending email. ');
}
收件人会收到邮件,但同一邮件会收到两次。可能您正在使用创建操作在每次创建新记录时通知用户。验证Yii::app()->mail->send($message)是否在您的操作中出现一次,例如:
public function actionCreate()
{
$model= new MyModel;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if(isset($_POST['SomeForm']))
{
$model->attributes=$_POST['SomeForm'];
if($model->validate()){
if($model->save()){
$message = new YiiMailMessage;
$message->setBody('<h1>mets-blog.com</h1>','text/html');
$message->subject = 'Service';
$message->addTo('mets@blog.com');
$message->from = 'your@email.com' you want
Yii::app()->mail->send($message);
$this->redirect(array('view','id'=>$model->id));
}
}
}
$this->render('create',array(
'model'=>$model,
));
}
公共函数actionCreate()
{
$model=新的MyModel;
//如果需要AJAX验证,请取消注释以下行
$this->performAjaxValidation($model);
如果(isset($_POST['SomeForm']))
{
$model->attributes=$\u POST['SomeForm'];
如果($model->validate()){
如果($model->save()){
$message=新的YiiMailMessage;
$message->setBody('mets-blog.com','text/html');
$message->subject='Service';
$message->addTo($message)mets@blog.com');
$message->from=your@email.com“你想要什么
Yii::app()->mail->send($message);
$this->redirect(数组('view','id'=>$model->id));
}
}
}
$this->render('create',数组(
'model'=>$model,
));
}
通过渲染视图,可能在控制器中调用了两次操作