Estou usando CakePHP 4.0.6
<?php
//ContatoForm.php
namespace App\Form;
use Cake\Form\Form;
use Cake\Form\Schema;
use Cake\Validation\Validator;
use Cake\Network\Email\Email;
class ContatoForm extends Form {
public function _buildSchema(Schema $schema): Schema {
return $schema->addField('nome', 'string')
->addField('email', ['type' => 'string'])
->addField('msg', ['type' => 'text']);
}
public function _buildValidator(Validator $validator): Validator {
$validator->add('msg', [
'minLength' => [
'rule' => ['minLength', 10],
'message' => 'A mensagem precisar ter no mímimo 10 caracteres'
]
]);
}
protected function _execute(array $data): bool {
$email = new Email('gmail');
$email->to('emmanuel.ferro@gmail.com');
$email->subject('Contato feito pelo site');
$msg = "Contato feito pelo site <br>
Nome: {$data['nome']}<br>
Email: {$data['email']}<br>
Mensagem: {$data['msg']}<br>
";
return $email->send($msg);
}
}
?>