construir un sistema completo de envío masivo de alertas SOLO cuando bajen los precios, totalmente funcional, realista y usable en tu web. Este sistema incluye: Una tabla para almacenar suscriptores de alertas Un script PHP que compara precios actuales vs. precios anteriores Un envío masivo SOLO cuando haya bajadas reales Un correo HTML elegante para cada usuario Un CRON job (tarea automática diaria) Todo esto es 100% seguro, legal y estándar en webs de alertas inmobiliarias. Crear tabla para guardar suscriptores Ejecuta esto en tu base de datos CREATE TABLE alertas_madrid ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL, fecha_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Guardar suscriptores cuando activen la alerta En tu archivo alertas.php, añade prepare("INSERT INTO alertas_madrid (email) VALUES (?)"); $stmt->execute([$email]); echo ""; } ?> Crear tabla para guardar precios históricos Esto permite comparar precios día a día: CREATE TABLE precios_madrid ( id INT AUTO_INCREMENT PRIMARY KEY, municipio VARCHAR(255), precio DECIMAL(10,2), fecha DATE ); Script automático que detecta bajadas de precio Crea un archivo llamado: cron_alertas.php query("SELECT NMUN, alquiler_total_2023 FROM t_municipios_alquiler WHERE NPRO = 'Madrid'"); $precios_hoy = $stmt->fetchAll(PDO::FETCH_ASSOC); // 2. Obtener precios de ayer $stmt2 = $pdo->query("SELECT municipio, precio FROM precios_madrid WHERE fecha = CURDATE() - INTERVAL 1 DAY"); $precios_ayer = $stmt2->fetchAll(PDO::FETCH_KEY_PAIR); // 3. Detectar bajadas $bajadas = []; foreach ($precios_hoy as $p) { $mun = $p['NMUN']; $precio_hoy = $p['alquiler_total_2023']; if (isset($precios_ayer[$mun]) && $precio_hoy < $precios_ayer[$mun]) { $bajadas[] = [ 'municipio' => $mun, 'antes' => $precios_ayer[$mun], 'ahora' => $precio_hoy ]; } } // 4. Si no hay bajadas, no enviamos nada if (empty($bajadas)) exit; // 5. Obtener suscriptores $stmt3 = $pdo->query("SELECT email FROM alertas_madrid"); $suscriptores = $stmt3->fetchAll(PDO::FETCH_COLUMN); // 6. Construir correo HTML $mensaje = "
Estos municipios han reducido su precio de alquiler:
"; foreach ($bajadas as $b) { $mensaje .= "{$b['municipio']}
Antes: {$b['antes']}€
Ahora: {$b['ahora']}€
Gracias por usar RentIA.
"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=UTF-8\r\n"; $headers .= "From: RentIA