Foros del Web » Programando para Internet » PHP »

Pregunta Mail

Estas en el tema de Pregunta Mail en el foro de PHP en Foros del Web. Hola,mi pregunta es muy simple...con la funcion de php para enviar mails...suponganse...este es el archivo, mail.php <?php /* recipientes */ $para = "[email protected]" . ", ...
  #1 (permalink)  
Antiguo 21/05/2005, 08:06
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Mail

Hola,mi pregunta es muy simple...con la funcion de php para enviar mails...suponganse...este es el archivo, mail.php


<?php
/* recipientes */
$para = "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]";

/* asunto */
$asunto = "Recordatorio de Cumplea&ntilde;os para Agosto";

/* mensaje */
$mensaje = '
<html>
<head>
<title>Recordatorio de Cumplea&ntilde;os para Agosto</title>
</head>
<body>
<p>&iexcl;Aqu&iacute; est&aacute;n los cumplea&ntilde;os que llegan en Agosto!</p>
<table>
<tr>
<th>Persona</th><th>D&iacute;a</th><th>Mes</th><th>A&ntilde;o</th>
</tr>
<tr>
<td>Juan</td><td>3</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sandra</td><td>17</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* Para enviar correo HTML, puede definir la cabecera Content-type. */
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* cabeceras adicionales */
$cabeceras .= "To: Maria <[email protected]>, Kelly <[email protected]>\r\n";
$cabeceras .= "From: Recordatorio <[email protected]>\r\n";
$cabeceras .= "Cc: [email protected]\r\n";
$cabeceras .= "Bcc: [email protected]\r\n";

/* y ahora, enviarlo */
mail($para, $asunto, $mensaje, $cabeceras);
?>


Si yo quiero enviarle el mensaje que está escrito en esta función,a tantas personas,porejemplo a [email protected], yo lo único que tengo q hacer,es modificar para quien sea enviado el mensaje,y despues entrar en http://localhost/mail.php y ahí le envia el mail?
Y si yo necesito mandarselo a otras personas,directamente modifico el [email protected] pongo el posta,y ahi,vuelvo a entrar en http://localhost/mail.php,y le vuelve a mandar el email??
Tambien quiero saber,para qué esta puesta esta función:

/* cabeceras adicionales */
$cabeceras .= "To: Maria <[email protected]>, Kelly <[email protected]>\r\n";
$cabeceras .= "From: Recordatorio <[email protected]>\r\n";
$cabeceras .= "Cc: [email protected]\r\n";
$cabeceras .= "Bcc: [email protected]\r\n";

Si quiero enviarle un mail a más personas,qué tengo q modificar? ese trozo de cabeceras adicionales,o la parte que dice esto?

/* recipientes */
$para = "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]";

Tambien diganme(si no es mucha molestia) cómo sería para enviarle a mas,con el tema de las comas.quedaría haci?

/* recipientes */
$para = "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]";
$para .= "[email protected]";
$para .= "[email protected]";
$para .= "[email protected]"; etc etc... ¿?

Gracias,y disculpen las molestias...espero que se entienda lo que traté de decir...
  #2 (permalink)  
Antiguo 21/05/2005, 08:59
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 7 meses
Puntos: 15
Bueno si tienes varias personas y los emails de ellos estan en una base de datos por ejemplo puedes hacer un bucle que envie una por una:
Código PHP:
<?php
# Aca esta la coneccion a la base de datos
while($para=mysql_fetch_array($rs)){
 
mail(para["email"],$asunto$mensaje$cabeceras);
}
?>
Con ese codigo se envian uno en uno, pero otra forma de hacerlo si no tienes base de datos es poner todos los emails en un array:
Código PHP:
<?php
$para 
= array("[email protected]","[email protected]","[email protected]");
$i=0;
while(
$i<count($para)){
 
mail(para[$i],$asunto$mensaje$cabeceras);
}
?>
En este ejemplo se envian uno a uno tambien pero obteniendo los emails de un array., Tambien puedes poner los emails en un archivo de texto cada email en una linea distinta.
Código PHP:
<?php
$archivo 
"emails.txt";
$para file($archivo);
$i=0;
while(
$i<count($para)){
 
mail(para["email"],$asunto$mensaje$cabeceras);
}
?>
Alli se envian tambien de uno en uno pero sacando los emails de un archivo de texto.
  #3 (permalink)  
Antiguo 21/05/2005, 09:19
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años
Puntos: 0
Cita:
Iniciado por Saldu
Hola,mi pregunta es muy simple...con la funcion de php para enviar mails...suponganse...este es el archivo, mail.php


<?php
/* recipientes */
$para = "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]";

/* asunto */
$asunto = "Recordatorio de Cumplea&ntilde;os para Agosto";

/* mensaje */
$mensaje = '
<html>
<head>
<title>Recordatorio de Cumplea&ntilde;os para Agosto</title>
</head>
<body>
<p>&iexcl;Aqu&iacute; est&aacute;n los cumplea&ntilde;os que llegan en Agosto!</p>
<table>
<tr>
<th>Persona</th><th>D&iacute;a</th><th>Mes</th><th>A&ntilde;o</th>
</tr>
<tr>
<td>Juan</td><td>3</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sandra</td><td>17</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* Para enviar correo HTML, puede definir la cabecera Content-type. */
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* cabeceras adicionales */
$cabeceras .= "To: Maria <[email protected]>, Kelly <[email protected]>\r\n";
$cabeceras .= "From: Recordatorio <[email protected]>\r\n";
$cabeceras .= "Cc: [email protected]\r\n";
$cabeceras .= "Bcc: [email protected]\r\n";

/* y ahora, enviarlo */
mail($para, $asunto, $mensaje, $cabeceras);
?>


Si yo quiero enviarle el mensaje que está escrito en esta función,a tantas personas,porejemplo a [email protected], yo lo único que tengo q hacer,es modificar para quien sea enviado el mensaje,y despues entrar en http://localhost/mail.php y ahí le envia el mail?
Sí, al entrar a la página se enviaría el e-mail.

Cita:
Iniciado por Saldu
Y si yo necesito mandarselo a otras personas,directamente modifico el [email protected] pongo el posta,y ahi,vuelvo a entrar en http://localhost/mail.php,y le vuelve a mandar el email??
sí, ahora se enviaría a la persona que pertenece el e-mail nuevo (un_email@un_dominio.com) que sustituyó al anterior([email protected]).

Cita:
Iniciado por Saldu
Tambien quiero saber,para qué esta puesta esta función:

/* cabeceras adicionales */
$cabeceras .= "To: Maria <[email protected]>, Kelly <[email protected]>\r\n";
$cabeceras .= "From: Recordatorio <[email protected]>\r\n";
$cabeceras .= "Cc: [email protected]\r\n";
$cabeceras .= "Bcc: [email protected]\r\n";
la cabecera To especifica hacia quién(es) va dirigido el correo.
la cabeceda From hace que en el remitente del e-mail aparezca lo que pongas aquí, aparecerá lo que tengas entre comillas, sería así:

Código PHP:
 $cabeceras .= "From: \"Recordatorio\" <[email protected]>\r\n"
la cabecera Cc es para enviar una copia del correo a la dirección que especifiques aquí
y la cabecera Bcc no me acuerdo para qué es.

Cita:
Iniciado por Saldu
Si quiero enviarle un mail a más personas,qué tengo q modificar? ese trozo de cabeceras adicionales,o la parte que dice esto?

/* recipientes */
$para = "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]";

Tambien diganme(si no es mucha molestia) cómo sería para enviarle a mas,con el tema de las comas.quedaría haci?

/* recipientes */
$para = "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]";
$para .= "[email protected]";
$para .= "[email protected]";
$para .= "[email protected]"; etc etc... ¿?
para hacerlo tendría que quedar así, una coma por cada e-mail adicional que vayas a agregar.
Código PHP:
/* recipientes */
$para  "[email protected]", " // fijese en la comma
$para .= "[email protected]"", ";
$para .= "[email protected]"", ";
$para .= "[email protected]"", ";
$para .= "[email protected]";// etc etc... ¿? 
es muy importante que te fijes en la coma, eso es para enviarlo de una sola vez a muchas personas, pero si lo que quieres es mandar correos personalizados puedes hacer algo parecido a lo que te mencionaron anteriormente.
  #4 (permalink)  
Antiguo 21/05/2005, 10:41
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Gracias,me ha sido de muchísima ayuda sus mensajes,meaclararon muchas dudas...pero (estoy laburando en local,no se si tiene algo quever) no me hace funcionar,osea,me salta un error en la linea 45:

Warning: Failed to Receive in c:\apache\htdocs\mail.php on line 45

<?php
/* recipientes */
$para .= "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]". ", ";
$para .= "[email protected]". ", ";
$para .= "[email protected]". ", ";
$para .= "[email protected]";// etc etc... ¿?

/* asunto */
$asunto = "Probando Php mailer";

/* mensaje */
$mensaje = '
<html>
<head>
<title>Prueba</title>
</head>
<body>
<p>Hola mundo!</p>
<table>
<tr>
<th>Persona</th><th>D&iacute;a</th><th>Mes</th><th>A&ntilde;o</th>
</tr>
<tr>
<td>Juan</td><td>3</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sandra</td><td>17</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* Para enviar correo HTML, puede definir la cabecera Content-type. */
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* cabeceras adicionales */
$cabeceras .= "To:Tomy <[email protected]>, Kelly <[email protected]>\r\n";
$cabeceras .= "From: Yo mismo <[email protected]>\r\n";
$cabeceras .= "Cc: [email protected]\r\n";
$cabeceras .= "Bcc: [email protected]\r\n";
/* y ahora, enviarlo */
mail($para, $asunto, $mensaje, $cabeceras);
?>

No sé cuál es el problema,si alguien que sepa mucho me explica,se lo agradecía muchísimo,muchas gracias
  #5 (permalink)  
Antiguo 21/05/2005, 13:24
Saldu
Invitado
 
Mensajes: n/a
Puntos:
No se qué puedo corregir,y la verdad que no sé porqué falla...
Una pregunta mas...envia mails igual,ya sea q este trabajando por intranet?
Gracias
  #6 (permalink)  
Antiguo 22/05/2005, 06:54
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Bueno,ya que mi amigo Jam,me pidió que facilitara un poco mi pregunta,para q la entiendan y haci mep uedan ayudar,pongo todo,y remarco con color el error


Warning: Failed to Receive in c:\apache\htdocs\mail.php on line 45

<?php
/* recipientes */
$para .= "[email protected]" . ", " ; // fijese en la comma
$para .= "[email protected]". ", ";
$para .= "[email protected]". ", ";
$para .= "[email protected]". ", ";
$para .= "[email protected]";// etc etc... ¿?

/* asunto */
$asunto = "Probando Php mailer";

/* mensaje */
$mensaje = '
<html>
<head>
<title>Prueba</title>
</head>
<body>
<p>Hola mundo!</p>
<table>
<tr>
<th>Persona</th><th>D&iacute;a</th><th>Mes</th><th>A&ntilde;o</th>
</tr>
<tr>
<td>Juan</td><td>3</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sandra</td><td>17</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* Para enviar correo HTML, puede definir la cabecera Content-type. */
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* cabeceras adicionales */
$cabeceras .= "To:Tomy <[email protected]>, Kelly <[email protected]>\r\n";
$cabeceras .= "From: Yo mismo <[email protected]>\r\n";
$cabeceras .= "Cc: [email protected]\r\n";
$cabeceras .= "Bcc: [email protected]\r\n";
/* y ahora, enviarlo */
mail($para, $asunto, $mensaje, $cabeceras);
?>


Alguien me puede explicar,porqué diantres no manda un email???
Gracias
  #7 (permalink)  
Antiguo 22/05/2005, 08:47
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 7 meses
Puntos: 15
Has una prueba quitando las cabeceras y coloca solo estas dos que coloco abajo.
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html";
mail($para, $asunto, $mensaje, $cabeceras);

Has la prueba con esas lineas solamente, y las demas cabezeras comentalas con /* */
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 06:20.