La FAQ Envio de formularios por mail tiene Pertenece a la categoría:
<?php
//Copyright © McAnam.com
function form_mail($sPara, $sAsunto, $sTexto, $sDe){
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
if ($sDe)$sCabeceras = "From:".$sDe."
"; else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0
";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."
".$sNombre." = ".$sValor;
foreach ($_FILES as $vAdjunto){
if ($bHayFicheros == 0){
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary="--_Separador-de-mensajes_--"
";
$sCabeceraTexto = "----_Separador-de-mensajes_--
";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1
";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT
";
$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0){
$sAdjuntos .= "
----_Separador-de-mensajes_--
";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name="".$vAdjunto["name"].""
";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64
";
$sAdjuntos .= "Content-disposition: attachment;filename="".$vAdjunto["name"].""
";
$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}
if ($bHayFicheros)
$sTexto .= $sAdjuntos."
----_Separador-de-mensajes_----
";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}
//Ejemplo de como usar:
if (form_mail("depcnaso@yahoo.es",
"Activación de formulario",
"Los datos introducidos en el formulario son:
",
"jero@localhost"
)
)
echo "Su formulario ha sido enviado con exito";
?>
y me da el siguiente error:
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:wampwwwcarmenformulariomail_adjuntos.php on line 51
también he probado con otros script de internet y siempre me da el mismo error.
Pueden decirme que debo hacer en php.ini para que funcione???
Gracias
| Complementar la respuesta | |
| Volver al árbol de categorías |
Para ver más FAQ relacionadas accede a las categorías:
| Volver al árbol de categorías |