Foros del Web » Programando para Internet » PHP »

que necesito para enviar mail

Estas en el tema de que necesito para enviar mail en el foro de PHP en Foros del Web. buenas tardes tengo instalado ya todo el ambiente de desarrollo como el apache el mysql en mi equipo de la casa tengo windows 2000 , ...
  #1 (permalink)  
Antiguo 12/03/2005, 14:02
 
Fecha de Ingreso: enero-2005
Mensajes: 28
Antigüedad: 12 años, 10 meses
Puntos: 0
que necesito para enviar mail

buenas tardes tengo instalado ya todo el ambiente de desarrollo como el apache el mysql en mi equipo de la casa tengo windows 2000 , pero quisiera enviar mails que necesito instalar y como lo consigo, ya tengo un formulario hecho este es el codigo,
si funciona desde aca o cuando tenga la pagina ya instala en un servidor puedo utilizar un servidor de correo, en fin
gracias por la ayuda

<html>
<head>
<title>Estaci&oacute;n Estelar Langoria. Puente de Mando</title>
<meta http-equiv="espires" content=0>
<link rel="stylesheet" href="css/barras.css" type="text/css">
</head>

<body class="barras">

<center>
<font face="Tahoma,Verdana,Arial">
<h1>Env&iacute;o de mensaje realizado.</h1>
</font>
</center>

<?

/* Este script está diseñado para gestionar el envío de correo electrónico
con archivos adjuntos incluidos. Los nombres de las siguientes variables
proceden del formulario HTML que llama al script, por lo que, si lo usas, deberás cambiar estas variables por las que tenga tu formulario.

$morigen
$mnombre
$medad
$mcorreo
$mconocido
$mespecificar
$mcomentarios
$adjunto

La ultima es el fichero adjunto
*/


/*Determinamos si hay un fichero adjunto mediante la clave "size"
de la matriz asociativa HTTP_POST_FILES. Si lo hay, lo leemos y lo
preparamos para luego adjuntarlo al correo.*/

if ($HTTP_POST_FILES['adjunto']['size']!=0)
{
$fichero = fopen($adjunto, 'r');
$contenido = fread($fichero, filesize($adjunto));
$encoded_attach = chunk_split(base64_encode($contenido));
fclose($fichero);
}

$morigen='A';
$mnombre='carlos';
$medad=25;
$mcorreo='[email protected]';
$mconocido='b';
$mespecificar='';
$mcomentarios='ddd';


//Se recogen los datos del formulario para montar el cuerpo del mensaje.
$mensaje ="ESCRITO DESDE: $morigen\n";
$mensaje .="NOMBRE: $mnombre\n";
$mensaje .="EDAD: $medad\n";
$mensaje .="CONOCIDO: $mconocido\n";
$mensaje .="ESPECIFICAR: $mespecificar\n";
$mensaje .="COMENTARIOS: $mcomentarios";

// Se monta la cabecera del mensaje.
$cabeceras = "From:<$mcorreo>\n";
// $cabeceras .= "Reply-To:$mcorreo \n";
$cabeceras .= "MIME-version: 1.0\n";

if ($HTTP_POST_FILES['adjunto']['size']!=0)
{
$cabeceras .= "Content-type: multipart/form-data; ";
$cabeceras .= "boundary=\"Message-Boundary\"\n";
$cabeceras .= "Content-transfer-encoding: 7BIT\n";

/*Si hay fichero adjunto, lo adjuntamos ahora.*/
$cabeceras .= "X-attachments:".$fichero;

//Se configuran las propiedades del cuerpo del mensaje
$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/plain;charset=US-ASCII\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail messagebody\n\n";
}
$cuerpo = $body_top.$mensaje;
if ($HTTP_POST_FILES['adjunto']['size']!=0)
{
$nombref=$HTTP_POST_FILES['adjunto']['name'];
$cuerpo .= "\n\n--Message-Boundary\n";
$cuerpo .= "Content-type: Binary;name=\"$nombref\"\n";
$cuerpo .= "Content-Transfer-Encoding: BASE64\n";
$cuerpo .= "Content-disposition: attachment;filename=\"$nombref\"\n\n";
$cuerpo .= "$encoded_attach\n";
$cuerpo .= "--Message-Boundary--\n";
} else {
$nombref="";
}

/*Se establece el destino del mensaje. Aqui pondrás
tu propia dirección de correo electrónico*/
$destino = "[email protected]";

echo ("<center><font face='Tahoma,Verdana,Arial'><h1>");

if (mail($destino,$morigen,$cuerpo,$cabeceras))
{
echo ("REALIZADO CON &Eacute;XITO.");
} else {
echo ("SE HA PRODUCIDO UN ERROR");
}

echo ("</center></font></h1>");

?>
<center>
<input class="botones" type="button" value="CERRAR ESTA PÁGINA" onClick="self.close();">
</center>
</body>
</html>
  #2 (permalink)  
Antiguo 12/03/2005, 15:54
 
Fecha de Ingreso: agosto-2003
Mensajes: 272
Antigüedad: 14 años, 3 meses
Puntos: 0
Una solucion.

Nada, supestamente te tiene que funcionar.
Pero si lo que queres es enviarte un mail a tu misma maquiana digamos tenes que tenes configurado un servidor de correos.
Saludos.
  #3 (permalink)  
Antiguo 15/03/2005, 07:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
PHP no envia el e-mail en sí .. lo único que hace es "entregarlo" al MTA (Mail Transfer Agente) que uses en tu servidor ..

Si quieres hacer tus pruebas en "local" .. tendrás que tener instalado en tu PC que va hacer de servidor un servidor SMTP al menos .. NO sé si W2000 trea uno instalado ya o que puedas habilitar .. pero requieres de uno.

También podrías usar un servidor SMTP de tu proveedor (ISP) pero .. recuerda también que mail() de PHP no "autentifica" .. así que si tienes una cuenta de correo tipo SMTP que requiera de autentificación .. no va funciona mail() .. tendrías que usar otro tipo de scripts para tal fin que permitan enviar el e-mail directo por SMTP y que permitan autentificación como por ejemplo usar:

PHP Mailer
http://phpmailer.sourceforge.net

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:30.