<?php namespace frontend\models; use Yii; use yii\base\Model; /** * ContactForm is the model behind the contact form. */ class ContactForm extends Model { public $name; public $email; public $subject; public $body; public $verifyCode; /** * @inheritdoc */ public function rules() { return [ // name, email, subject and body are required [ [ 'name', 'email', 'subject', 'body' ], 'required' ], // email has to be a valid email address [ 'email', 'email' ], // verifyCode needs to be entered correctly [ 'verifyCode', 'captcha' ] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'verifyCode' => 'Verification Code' ]; } /** * Sends an email to the specified email address using the information collected by this model. * * @param string $email * the target email address * @return boolean whether the email was sent */ public function sendEmail($email) { return Yii::$app->mailer->compose ()->setTo ( $email )->setFrom ( [ $this->email => $this->name ] )->setSubject ( $this->subject )->setTextBody ( $this->body )->send (); } }