<?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