<?php
// Ativa relatórios de erro em ambiente de testes (remover em produção)
error_reporting(E_ALL);
ini_set(‘display_errors’, 1);

// Só aceita pedidos POST
if ($_SERVER[‘REQUEST_METHOD’] !== ‘POST’) {
http_response_code(405);
echo ‘Método não permitido.’;
exit;
}

// Honeypot anti-bots: se estiver preenchido, ignorar
if (!empty($_POST[‘website’])) {
// Opcional: podes registar isto num log
echo ‘Pedido inválido.’;
exit;
}

// Função simples para limpar texto
function limpar_dado($valor) {
return trim(filter_var($valor, FILTER_SANITIZE_STRING));
}

// Recolher e validar dados
$nome_completo = limpar_dado($_POST[‘nome_completo’] ?? ”);
$email = filter_var(trim($_POST[‘email’] ?? ”), FILTER_VALIDATE_EMAIL);
$telefone = limpar_dado($_POST[‘telefone’] ?? ”);

// Validação básica
$erros = [];

if (empty($nome_completo) || strlen($nome_completo) < 3) {
$erros[] = ‘Nome Completo inválido.’;
}

if (!$email) {
$erros[] = ‘E-mail inválido.’;
}

if (empty($telefone) || strlen($telefone) < 6) {
$erros[] = ‘Telefone inválido.’;
}

// Se houver erros, mostra mensagem simples
if (!empty($erros)) {
echo ‘

Ocorreram erros no envio:

‘;
echo ‘

  • ‘ . htmlspecialchars($erro, ENT_QUOTES, ‘UTF-8’) . ‘

‘;
echo ‘

Voltar ao formulário‘;
exit;
}

// Destinatário
$para = ‘joel.gopfert@iadportugal.pt’;

// Assunto
$assunto = ‘Novo contacto de vendedor de imóvel’;

// Corpo do e-mail
$mensagem = “Recebeu um novo contacto de vendedor de imóvel:\n\n”;
$mensagem .= “Nome Completo: {$nome_completo}\n”;
$mensagem .= “E-mail: {$email}\n”;
$mensagem .= “Telefone: {$telefone}\n”;
$mensagem .= “Data/Hora: ” . date(‘d/m/Y H:i:s’) . “\n”;

// Cabeçalhos
$cabecalhos = “From: contato@seu-dominio.pt\r\n”; // altera para um e-mail válido do teu domínio
$cabecalhos .= “Reply-To: {$email}\r\n”;
$cabecalhos .= “MIME-Version: 1.0\r\n”;
$cabecalhos .= “Content-Type: text/plain; charset=UTF-8\r\n”;

// Enviar
if (mail($para, $assunto, $mensagem, $cabecalhos)) {
echo ‘

Obrigado!

‘;
echo ‘

Os seus dados foram enviados com sucesso. Em breve entraremos em contacto.’;
} else {
echo ‘

Erro ao enviar.

‘;
echo ‘

Ocorreu um problema ao enviar os dados. Por favor tente novamente mais tarde.’;
}

Deixe um comentário