Foros del Web » Programando para Internet » PHP »

Se puede en la funcion MAIL?

Estas en el tema de Se puede en la funcion MAIL? en el foro de PHP en Foros del Web. Hola a todos: Tengo creado un script en donde hago envio de correo masivo a todos los usuarios registrados en la base de datos, todo ...
  #1 (permalink)  
Antiguo 02/04/2008, 12:16
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Se puede en la funcion MAIL?

Hola a todos:

Tengo creado un script en donde hago envio de correo masivo a todos los usuarios registrados en la base de datos, todo funciona bien, sólo tengo una duda, al recibir el correo aparece de esta forma:

Nombre = Nombre de la empresa
email = [email protected]
asunto = Prueba con adjunto
mensaje = Envio de correo masivo de prueba con archivo adjunto
submit = Enviar


Me pueden orientar para hacer que en la parte donde debe de ir sólo el mensaje no aparesca todo lo que viene arriba?

Gracias.
  #2 (permalink)  
Antiguo 02/04/2008, 12:25
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Re: Se puede en la funcion MAIL?

Podrias postear algo del codigo para ver que estas haciendo mal y poderte ayudar ??
  #3 (permalink)  
Antiguo 02/04/2008, 12:30
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Se puede en la funcion MAIL?

Gracias erlingfiallos por contestar.

Esta es la funcion que tengo:

Cita:
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$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."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}
Y así es como la llamo:

Cita:
form_mail($row_correo['email'], $_POST[asunto], "Los datos introducidos en el formulario son:\n\n", $_POST[email])
  #4 (permalink)  
Antiguo 02/04/2008, 12:45
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Re: Se puede en la funcion MAIL?

Aparecen esos datos porque estas utilizando el POST en el foreach y el POST guarda todas las variables del formulario.

Para evitar eso no uses $_POST dentro de foreach.

Y me queda una duda.. porque si los datos salen de una BD, estas utilizando POST ??
  #5 (permalink)  
Antiguo 02/04/2008, 12:52
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Se puede en la funcion MAIL?

Utilizo el POST porque tengo un formaulario previo, en donde se captura el correo, tema y archivo adjunto a enviar, y de la base de datos sólo extraigo los correos a donde se envia el mensaje.

Me puedes orientar como hago el cambio del POST?

Ya que este código lo encontré aqui en el foro y sólo le hice unas modificaciones pequeñas.

Saludos.
  #6 (permalink)  
Antiguo 02/04/2008, 13:35
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Re: Se puede en la funcion MAIL?

Pues sigo sin entender, si del formulario obtienes un correo y de la base de datos tambien.. entonces a quien le envias el email.. a cual de ambos correos
  #7 (permalink)  
Antiguo 02/04/2008, 16:57
Avatar de indy1508  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. México.
Mensajes: 212
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Se puede en la funcion MAIL?

Mira, en el primer formulario se visualiza el nombre y correo de la empresa, esos no se capturan, lo unico que se captura es el asunto, el mensaje y si lo hay, el archivo adjunto.

De la base de datos saco los correos de los usuarios registrados y a esos se les envía el correo, practicamente el POST sólo lo ocuparía para el asunto, mensaje y archivo adjunto.

Pero después de estar batallando con la función foreach, ya entendí cómo funciona y ya pude enviar sólo el mensaje.

Gracias de todos modos por la atención.

Saludos
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 00:54.