Código PHP:
   <?php
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" ); 
header("Content-Type: text/xml; charset=utf-8");
header("Cache-Control: no-cache, must-revalidate" ); 
header("Pragma: no-cache" );
 
require('basededatos.php');
 
$xml = '<?xml version="1.0" ?><root>';
 
    $last = (isset($_GET['last']) && $_GET['last'] != '') ? $_GET['last'] : 0;
    $limit = '';
      if ($last == 0 || $last == '0') { 
          $numlogs = mysql_query("SELECT seq FROM logs WHERE seq > " . $last); 
          $numlogs = mysql_num_rows($numlogs); 
          $logsamostrar = 1; 
             if ($numlogs > $logsamostrar) { 
                 $limit = " LIMIT " . ($numlogs - $logsamostrar) . ', ' . $logsamostrar; 
             } 
      }
    
    $sql = "SELECT seq,msg FROM logs  WHERE seq > " . $last . $limit;
        
    $resultado = mysql_query($sql); 
    $mensaje = mysql_fetch_row($resultado);
    $cadena = $mensaje[1];
    //Aquí realizo la obteción de los valores de las variables que envío, no lo puse para no poner tanto código...
            
    $message_query = db_query($sql);
    while($message_array = db_fetch_array($message_query)) {
                
        $xml .= '<message id="' . $message_array['seq'] . '">';
        $xml .= '<seq>' .htmlspecialchars($message_array['seq']) . '</seq>';
        $xml .= '<host>' .htmlspecialchars($nombre) . '</host>';
        $xml .= '<priority>' .htmlspecialchars($prioridad) . '</priority>';
        $xml .= '<date>' .htmlspecialchars($fecha) . '</date>';
        $xml .= '<time>' .htmlspecialchars($hora) . '</time>';
        $xml .= '<id>' .htmlspecialchars($id) . '</id>';
        $xml .= '<src>' .htmlspecialchars($fuente) . '</src>';
        $xml .= '<interface>' . htmlspecialchars($interface) . '</interface>';
        $xml .= '<interfaced>' .htmlspecialchars($interfaced) . '</interfaced>';
        $xml .= '<dst>' .htmlspecialchars($dst) . '</dst>';
        $xml .= '</message>';        
        
    }
 
$xml .= '</root>';
echo $xml;
   $sql2 = mysql_query("SELECT seq FROM logs"); 
   $logs = mysql_num_rows($sql2);
 
 if(($last != 0 || $last != '0') && $logs > $_GET['last'] && $_GET['last'] != ''){
   
    $query = "SELECT email,alerta,intrusion,virus,aweb,vtrafico,bloq,caida,vpncaida,sesiones,severidad".
            " FROM config WHERE seq=1 ";
    $config = mysql_query($query); 
    $salida = mysql_fetch_row($config);
    
    if($salida[1]=="eventos"){
      mailer();    //*********Si mando a llamar aqui la función "mailer()" ya no me actuliza el html. Aquí es mi problema.
            
    }elseif($salida[1]=="severidad"){
          
    }
    
    //Inserción a logsfg
    $inserta = "INSERT INTO logsfg (nombre,prioridad,fecha,hora,idlog,fuente,ifuente,destino,idestino,mensaje)".
    " VALUES ('$nombre','$prioridad','$fecha','$hora','$id','$fuente','$interface','$dst','$interfaced','$cadena')";
    $resultado = mysql_query($inserta);
    //Termina Inserción a logsfg
   
 }
 
 function mailer(){
       
   $nombre = "Yo";
   $mail = "algún mail";             
   $empresa = "yo Corp";
   $mensaje = "...";
 
   $header = 'From: ' . $mail . " \r\n";
   $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
   $header .= "Mime-Version: 1.0 \r\n";
   $header .= "Content-Type: text/plain";
 
   $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
   $mensaje .= "Su e-mail es: " . $mail . " \r\n";
   $mensaje .= "Mensaje: " .$mensaje." \r\n";
   $mensaje .= "Enviado el " . date('d/m/Y', time());
 
    $para = 'algun otro mail';
    $asunto = 'Sistema de Análisis de Eventos';
 
    mail($para, $asunto, utf8_decode($mensaje), $header);
    
 }          
?>    Código HTML:
             var sendReq = getXmlHttpRequestObject();
			var receiveReq = getXmlHttpRequestObject();
			var sendDat = getXmlHttpRequestObject();
			var lastMessage = 0;
			var mTimer;
			//Función para inicializar la página.
			function startSOC() {
				//Iniciar recibiendo Logs.
				getLogs();
			}		
			//Obtener los objetos XmlHttpRequest especificos del navegador.
			function getXmlHttpRequestObject() {
				if (window.XMLHttpRequest) {
					return new XMLHttpRequest();
				} else if(window.ActiveXObject) {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} else {
					document.getElementById('estado').innerHTML = 'No se puede crear el objeto XmlHttpRequest.';
				}
			}
			
			
			function getLogs() {
					receiveReq.open("GET", 'getLogs.php?logs=1&last=' + lastMessage, true);
					receiveReq.onreadystatechange = ReceiveLogs; 
					receiveReq.send(null);
			}
		
			//Funcion para obtener los mensajes de logs.
			function ReceiveLogs() {
					var logs_div = document.getElementById('div_logs');
					var xmldoc = receiveReq.responseXML;
					var message_nodes = xmldoc.getElementsByTagName("message"); 
					var n_messages = message_nodes.length
					for (i = 0; i < n_messages; i++) {
						var seq_node = message_nodes[i].getElementsByTagName("seq");
						var host_node = message_nodes[i].getElementsByTagName("host");
						var priority_node = message_nodes[i].getElementsByTagName("priority");
						var date_node = message_nodes[i].getElementsByTagName("date");
						var time_node = message_nodes[i].getElementsByTagName("time");
						var id_node = message_nodes[i].getElementsByTagName("id");			
						var src_node = message_nodes[i].getElementsByTagName("src");				
						var interface_node = message_nodes[i].getElementsByTagName("interface");			
						var interfaced_node = message_nodes[i].getElementsByTagName("interfaced");
						var dst_node = message_nodes[i].getElementsByTagName("dst");
						
						var seq = seq_node[0].firstChild.nodeValue;
						
						//Inserta el valor de los nodos en logs_div
						logs_div.innerHTML += "<div id='host'>" + host_node[0].firstChild.nodeValue + "</div>"; 
						//Selección de color para el campo Prioridad					
						switch(priority_node[0].firstChild.nodeValue){
							case 'emergency':
							logs_div.innerHTML += "<div id='priority1'>Emergencia</div>";
							break;
							case 'alert':
							logs_div.innerHTML += "<div id='priority2'>Alerta</div>";
							break;
							case 'critical':
							logs_div.innerHTML += "<div id='priority3'>Critico</div>";
							break;
							case 'error':
							logs_div.innerHTML += "<div id='priority4'>Eror</div>";
							break;
							case 'warning':
							logs_div.innerHTML += "<div id='priority5'>Advertencia</div>";
							break;
							case 'notice':
							logs_div.innerHTML += "<div id='priority6'>Notificación</div>";
							break;
							case 'information':
							logs_div.innerHTML += "<div id='priority7'>Información</div>";
							break;
							case 'debug':
							logs_div.innerHTML += "<div id='priority8'>Depuración</div>";
							break;
						}
						logs_div.innerHTML += "<div id='date'>" + date_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='time'>" + time_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='id'>" + id_node[0].firstChild.nodeValue + "</div>";						
						logs_div.innerHTML += "<div id='src'>" + src_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='interface'>" + interface_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='interfaced'>" + interfaced_node[0].firstChild.nodeValue + "</div>";
 						logs_div.innerHTML += "<div id='dst'>" + dst_node[0].firstChild.nodeValue + "</div>";	
 						logs_div.innerHTML += "<div id='mensaje'><a  href='javascript:mensaje(" + seq + ")'>Mensaje</a></div><br>";
						logs_div.scrollTop = logs_div.scrollHeight;
						lastMessage = (message_nodes[i].getAttribute('id'));					
						
					}
					mTimer = setTimeout('getLogs();',1000); //Verifica cambios en la base de datos cada segundo.
		        
			}
			
			function mensaje(seq){
             window.open('mensaje.php?seq='+seq+'&action=monitoreo','mensaje','width=550,height=425,left=230,top=50','target=Mensaje');
            }
 
