Foros del Web » Programando para Internet » PHP »

Funcion Mail

Estas en el tema de Funcion Mail en el foro de PHP en Foros del Web. Hola. Tengo este codigo para mandar un formulario por mail: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $para .= '[email protected]' ;     $titulo = 'Envio ...
  #1 (permalink)  
Antiguo 25/08/2010, 07:56
 
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 0
Funcion Mail

Hola. Tengo este codigo para mandar un formulario por mail:
Código PHP:
Ver original
  1. $para .= '[email protected]';
  2.  
  3.  
  4. $titulo = 'Envio de mail';
  5.  
  6.  
  7. $mensaje = '
  8. <html>
  9. <head>
  10. </head>
  11. <body>
  12. </body>
  13. </html>
  14. ';
  15.  
  16.  
  17. $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  18. $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  19.  
  20.  
  21. $cabeceras .= 'From: $remitente ' . "\r\n";
  22.  
  23.  
  24. mail($para, $titulo, $mensaje, $cabeceras);

Quiero saber si en $mensaje =
puedo poner codigo php? en ese caso como lo hago?
Gracias!
El codigo que quiero poenr es el siguiente:
Código PHP:
Ver original
  1. <?php
  2. $total = $_POST['total'];
  3. for($x=0;$x<=$total;$x++){
  4.     if($_POST['checkbox_'.$x]=='1'){
  5.        
  6.         $cant = count($carro);
  7.         $carro[$cant]['id'] = $_POST['id_'.$x];
  8.         $carro[$cant]['cantidad'] = $_POST['precio_'.$x];
  9.     }
  10. }
  11.  
  12. $_SESSION['carro']=$carro;
  13.  
  14. ?>
  15. <table width="500" border="1" cellpadding="1" cellspacing="1">
  16.   <tr>
  17.     <th>Producto</th>
  18.     <th>Cantidad</th>
  19.     <th>Precio</th>
  20.     <th>SubTotal</th>
  21.     <th>&nbsp;</th>
  22.   </tr>
  23.   <?php
  24. $cantidad = count($carro);
  25.  
  26. for($x=0;$x<=$cantidad;$x++){
  27.     $SQL = "SELECT * FROM precios WHERE id = ".$carro[$x]['id'].";";
  28.     $registro= mysql_query($SQL,$mcon);
  29.     $f=mysql_fetch_assoc($registro);
  30.     $subtotal = $f['precio']*$carro[$x]['cantidad'];
  31.     if($f['id']){
  32.     ?><tr>
  33.         <td><?php echo $f['nombre'];?></td>
  34.         <td><?php echo $carro[$x]['cantidad'];?></td>
  35.         <td><?php echo $f['precio'];?></td>
  36.         <td><?php echo $subtotal;?></td>
  37.         <td>
  38.         </td>
  39.         </tr>
  40. <?
  #2 (permalink)  
Antiguo 25/08/2010, 08:12
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Funcion Mail

Hola.

Por supuesto que puede ser php, para cuando el explorador interprete eso a sera html

y la mecanica seria como lo que tienes en el primer archivo

Código PHP:
Ver original
  1. <?php
  2. $total = $_POST['total'];
  3. for($x=0;$x<=$total;$x++){
  4.     if($_POST['checkbox_'.$x]=='1'){
  5.        
  6.         $cant = count($carro);
  7.         $carro[$cant]['id'] = $_POST['id_'.$x];
  8.         $carro[$cant]['cantidad'] = $_POST['precio_'.$x];
  9.     }
  10. }
  11.  
  12. $_SESSION['carro']=$carro;
  13.  
  14. $mensaje="
  15. <table width='500' border='1' cellpadding='1' cellspacing='1'>
  16.  <tr>
  17.    <th>Producto</th>
  18.    <th>Cantidad</th>
  19.    <th>Precio</th>
  20.    <th>SubTotal</th>
  21.    <th>&nbsp;</th>
  22.  </tr>";
  23.  
  24. $cantidad = count($carro);
  25.  
  26. for($x=0;$x<=$cantidad;$x++){
  27.     $SQL = "SELECT * FROM precios WHERE id = ".$carro[$x]['id'].";";
  28.     $registro= mysql_query($SQL,$mcon);
  29.     $f=mysql_fetch_assoc($registro);
  30.     $subtotal = $f['precio']*$carro[$x]['cantidad'];
  31.     if($f['id']){
  32.     $mensaje.="
  33.    <tr>
  34.        <td>$f['nombre']</td>
  35.        <td>$carro[$x]['cantidad']</td>
  36.        <td>$f['precio']</td>
  37.        <td>$subtotal</td>
  38.        <td>
  39.        </td>
  40.        </tr>";

prueba haciendo algo como eso, y lo mandas con tu funcion mail

Suerte.
  #3 (permalink)  
Antiguo 28/08/2010, 09:26
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Respuesta: Funcion Mail

Hola, al hilo de esto he creado un codigo para mandar un correo con copia oculta a varias personas. Y quiero mostrar un enlace que se muestre en el correo del receptor y este enlace pues contenga como variable que me envie a mi su direccion de correo.

Esto lo quiero para crear un link en el correo que ponga:

Si no desea recibir mas este email pulse aquí

De manera que al pulsar el link me llegue ami la notificacion con su direccion de correo para borrarla de la base de datos.

Pego aqui lo que tengo realizado:

$sql="select * from boletines where id='$id' order by fecha_ini";
$result=mysql_query($sql,$conn);
$row=mysql_fetch_array($result);
//se definen los argumentos de mail( ):
$email_destino="[email protected]";
$cabecera= "MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: [email protected]

Bcc: [email protected],[email protected]";//Email de copias ocultas

$asunto=$row["titulo"];
$contenido='
<html>
<head>
<title>'.$row["titulo"].'</title>
</head>
<body >
<div id=boletin align=center>
<table cellpadding=0 cellspacing=0 border=1 style=border-collapse: collapse bordercolor=111111 width=500><tr><td background=http://www..com/images/index_01.jpg height=169 valign=bottom><h5>'.$row["titulo"].'</h5></td></tr>
<tr><td width=500>
<br><br><h2>'.nl2br($row["descripcion"]).'</h2>';
//Ejecutamos la sentencia SQL
$sql0="select DISTINCT id_noticia from noticias";
$result0=mysql_query($sql0,$conn);
while ($row0=mysql_fetch_array($result0))
{
$clase=$row0["id_noticia"];
$sql01="select tipo from tipo_noticia where id='$clase'";
$result01=mysql_query($sql01,$conn);
$row01=mysql_fetch_array($result01);
$contenido .='<br><h2><b>'.strtoupper ($row01["tipo"]).':</b></h2>';
$fecha_ini=$row["fecha_ini"];
$fecha_fin=$row["fecha_fin"];
$sql2="select * from noticias where id_noticia='$clase' and fecha between '$fecha_ini' and '$fecha_fin' order by fecha";
$result2=mysql_query($sql2,$conn);
while($row2=mysql_fetch_array($result2)){
$contenido .='
<p><h3>'.nl2br($row2["titulo"]).'
</h3><h4>'.nl2br($row2["descripcion"]).'</h4></p>';
}
}
$contenido .='</td></tr></table></div>
</body></html>';



/// Envío del email:
mail($email_destino, $asunto, $contenido, $cabecera);
echo "Mensaje Enviado con Éxito!"; //
?>
<br /><br /><center><a href="javascript:history.back(1)">Volver Atrás</a></center>


Cuando el mensaje llegue a [email protected] muestre un link en el mensaje del recptor

Si quiere borrarse de la lista pulse aqui (al pulsar me llegue la direccion de correo de la persona que pulso)

Espero haberme explicado un saludo y gracias
  #4 (permalink)  
Antiguo 28/08/2010, 11:45
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Funcion Mail

Hola jpalbox.

Cita:
Iniciado por jpalbox Ver Mensaje
De manera que al pulsar el link me llegue ami la notificacion con su direccion de correo para borrarla de la base de datos.
yo lo que te recomiendo es que dejes codificado un archivo que haga eso, entonces cuando el usuario le de click a ese link que dispare el archivo que lo va dar debaja ( de forma automatica ) y con respecto a como seria ese link, que es tu preguna, la respuesta es facil; Como tu quieras.

la unica cuestion es que lo definas para que en base a ese parametro que coloques en el link sea el que tome el script que va a dar de baja a dicho usuario

Por ejemplo.- desde mi consulta (donde cargo las noticias) obtengo los datos del usuario y cuandomande su correo colocaria el link asi:
Código PHP:
Ver original
  1. echo "<a href='http://www.miServidor.com/scriptDeBaja.php?user=".$row2["id"].">No recibir mas estos correos</a>";

mientras que dicho script simplemente recibiria el parametro con la variable $_GET y realizaria las operaciones necesarioas para eliminar el usuario de la lista de mails

Suerte.
  #5 (permalink)  
Antiguo 08/09/2010, 13:37
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Respuesta: Funcion Mail

Si lair, eso seria si yo tuviera almacenados los uruarios en la base de datos, pero yo solamente tengo la direccion de correo y mando todos los correos de golpe sin quedarme con el usuario al que se lo mando solamente tengo las direcciones de correo de toda la gente a la que se lo he mandado que estan en la cabezera de la funcion mail indicados con el parametro bcc., yo tendría que saber a que direccion ha llegado el correo para que asi lo que tu dices lleve la la direccion que quiero borrar de mi lista.

Lo que tu dices si funcionaria sin problemas si yo realizara un bucle con las direcciones de email y sepa cada correo a que usuario va.

echo "<a href='http://www.miServidor.com/scriptDeBaja.php?user=".$row2["id"].">No recibir mas estos correos</a>";

Pero yo quiero usar la caracteristica bcc de la cabezera de la funcion mail tal y como indique al principio, que pasa que asi, no se como puedo saber o incluir en el codigo el correo al que se envia.

Última edición por jpalbox; 10/09/2010 a las 09:48
  #6 (permalink)  
Antiguo 10/09/2010, 09:57
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Respuesta: Funcion Mail

Creo que ya se como resolver mi problema, haciendo un bucle que mande el correo tantas veces como se indica en la copia oculta, pero claro estariamos hablando de ejecutar la funcion mail muchas veces en caso de correo masivo esto creo yo que no consumira los mismos recursos que si hago un mail con muchas copias ocultas.

¿stoy en lo cierto?, ¿como es mejor? ¿Ahi alguna otra manera de guardar el destinatario del correo en caso de envios atraves de copias ocultas?

Etiquetas: funcion, mail
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 05:21.