| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <?phpnamespace app\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;    /**     * @return array the validation rules.     */    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'],        ];    }    /**     * @return array customized attribute labels     */    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 bool whether the model passes validation     */    public function contact($email)    {        if ($this->validate()) {            Yii::$app->mailer->compose()                ->setTo($email)                ->setFrom([Yii::$app->params['senderEmail'] => Yii::$app->params['senderName']])                ->setReplyTo([$this->email => $this->name])                ->setSubject($this->subject)                ->setTextBody($this->body)                ->send();            return true;        }        return false;    }}
 |