1
Good morning! I have a question, I am sending the data of a form to a Controller that sends an email with such data. However the Controller when mounting the email uses such a function
$body_message = file_get_contents('/email.php');
The Email Template is very large and so I pull it from another location, however I want to insert variables sent by the form in the template too, how can I do this? I want the form data sent to both the controller and the email template.
Archive of Contactocontrol.php:
        public function enviarEmail(){
        $dados = array();
        $emailClasse = new Email();
        if(isset($_POST['modulo']) && $_POST['modulo'] == "contato"){
            $nomeCompleto  = $_POST['nome'];
            $telefone      = $_POST['telefone'];
            $empresa       = !empty($_POST['empresa'])  ? $_POST['empresa'] : " Não informado.";
            $cargo         = !empty($_POST['cargo'])   ? $_POST['cargo'] : " Não informado.";
            $email         = $_POST['email_corporativo'];    
            $mensagem      = $_POST['mensagem'];
    $arr = array(
        'properties' => array(
            array(
                'property' => 'firstname',
                'value' => $nomeCompleto
            ),
            array(
                'property' => 'email',
                'value' => $email
            ),
            array(
                'property' => 'phone',
                'value' => $telefone
            ),
            array(
                'property' => 'company',
                'value' => $empresa
            )
        )
    );
    $post_json = json_encode($arr);
    $hapikey = ("XXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXX");
    $endpoint = 'https://api.hubapi.com/contacts/v1/contact?hapikey=' . $hapikey;
    $ch = @curl_init();
    @curl_setopt($ch, CURLOPT_POST, true);
    @curl_setopt($ch, CURLOPT_POSTFIELDS, $post_json);
    @curl_setopt($ch, CURLOPT_URL, $endpoint);
    @curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = @curl_exec($ch);
    $status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $curl_errors = curl_error($ch);
    @curl_close($ch);
    $subject = " xxxx- Contato ";
    $body_message = file_get_contents('/email.html');
    $headers = 'De: '.$email."\r\n";
    $headers .= 'Reply-To: '.$email."\r\n";
    $mail_status = mail('[email protected]',$subject,$body_message,$headers);
            if($respostaEnvio){
                $dados['mensagem'] = "Contato enviado com sucesso. Aguarde que logo te enviaremos uma resposta.";
            }else{
                $dados['mensagem'] = "Não foi possível enviar a mensagem no momento. Tente mais tarde.";
            }
        }
The email code is in the link below the Pastebin because it did not fit the question: https://pastebin.com/FtjpctfH
You want form data to be entered in the body of the email?
– Whatyson Neves
Hi Whatyson, yes
– Caue Silvestre
could put the content of the email?
– Marcus Pereira
Hi Marcus, the content of the email as well as the controller are there in the question, I edited and added them
– Caue Silvestre