Hola, buenas noches...
Miren, tengo el siguiente problema... Tengo el siguiente código hecho en
PHP:
Código PHP:
<?php
function validarDominio($domain)
{
getmxrr($domain, $mx_records, $mx_weight);
return (count($mx_records) > 0);
}
function validarEmail($value)
{
$reg_exp= "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$/";
$result=preg_match($reg_exp, $value);
if ($result)
{
//validar el registro mx del dominio
$mailparts=explode("@",$value);
$retVal=validarDominio($mailparts[1]);
}
else
{
$retVal=false;
}
return $retVal;
}
$email=$_POST['email'];
if(validarEmail($email))
{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado desde la pagina web www.pathfinding.com.mx\n";
$cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
$cuerpo .= "Teléfono(LADA): " . $_POST["lada"] . " " . $_POST["telefono"] . "\n";
//$cuerpo .= "Email: " . $_POST["email"] . "\n";
$cuerpo .= "Servicio: " . $_POST["select"] . "\n";
$cuerpo .= "Tipo de Solicitud: " . $_POST["botonradio1"] . "\n";
$cuerpo .= "Mensaje: " . $_POST["comentarios"] . "\n";
//Definimos las cabeceras
$header = "From:".$_POST["email"]."\nReply-To:".$_POST["email"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
}
else
{
echo "Dirección de email inválida";
}
mail("[email protected]","Formulario recibido",$cuerpo,$header);
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
?>
Y mi configuración de la función mail en
PHP.ini es la siguiente:
Tengo instalado el miniRelay, el cuál tiene la siguiente configuración:
Cita: [Configuration]
StartWithWindows=0
CloseWhenIdle=0
SecondsForIdle=15
CancelClose=0
CancelCloseText=
UseLog=0
MaxLinesLog=200
MaxThreads=3
MaxRetrys=3
DNSDetection=0
DNSServers=
StartInTray=1
MinimizeToTray=1
CloseToTray=1
FontName=MS Sans Serif
FontSize=8
FontColor=0
FontStyles=0
Port=25
Timeout=6
DNSTimeout=6
OthersIPMask=
AllowOthers=0
Remove_X-Mailer=0
RemoveHeaders=0
Headers2Delete=
AddHeaders=0
Headers2Add=
NoReturnMessages=0
Width=513
Height=262
Top=29
Left=22
Language=Español
LastCachePurge=10/10/2009
[DNS_DynamicCache]
gmail.com=10/10/2009#gmail-smtp-in.l.google.com#alt1.gmail-smtp-in.l.google.com#alt2.gmail-smtp-in.l.google.com#alt3.gmail-smtp-in.l.google.com#alt4.gmail-smtp-in.l.google.com
hotmail.com=10/10/2009#mx1.hotmail.com#mx2.hotmail.com#mx3.hotmail.c om#mx4.hotmail.com
Sin embargo, me aparece el siguiente error:
Cita: Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\script_contacto.php on line 54
Gracias por rellenar el formulario. Se ha enviado correctamente.
El protocolo
SMTP, por el puerto
25 no me funciona, y pienso que el problema es en sí el puerto, no el código
PHP, ni el
miniRelay ni el
PHP.ini, pero no sé como habilitar el puerto
25, alguien podría ayudarme con este problema o si realmente hay algún error en
PHP.
Gracias de antemano. Saludos.