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.";
?>
Cita:
Tengo instalado el miniRelay, el cuál tiene la siguiente configuración:[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
;http://php.net/sendmail-from
sendmail_from = [email protected]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
;http://php.net/sendmail-from
sendmail_from = [email protected]
Cita:
Sin embargo, me aparece el siguiente error:[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
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
Cita:
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.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.
Gracias por rellenar el formulario. Se ha enviado correctamente.
Gracias de antemano. Saludos.