Foros del Web » Programando para Internet » PHP »

Enviar correo a variable

Estas en el tema de Enviar correo a variable en el foro de PHP en Foros del Web. Tengo esta construccion de cabeceras para enviar un correo a travez de la funcion mail() @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original // Para enviar correo ...
  #1 (permalink)  
Antiguo 10/02/2011, 14:23
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Enviar correo a variable

Tengo esta construccion de cabeceras para enviar un correo a travez de la funcion mail()

Código PHP:
Ver original
  1. // Para enviar correo HTML, la cabecera Content-type debe definirse
  2. $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  3. $cabeceras .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  4.  
  5. // Cabeceras adicionales
  6. //$cabeceras .= 'To: Mar&iacute;a <[email protected]>, Kelly <[email protected]>' . "\r\n";
  7. $cabeceras .= 'From: Seminarios Practica <seminarios@****>' . "\r\n";
  8. //$cabeceras .= 'Cc: [email protected]' . "\r\n";
  9. $cabeceras .= 'Bcc: practica@****' . "\r\n";
  10. $cabeceras .= 'Bcc: seminarios@****' . "\r\n";
  11. $cabeceras .= 'Bcc: cejarcon@****' . "\r\n";
  12.  
  13. // Enviarlo
  14. mail($para, $asunto, $body, $cabeceras);

Pero necesito añadir una cabecera para enviarlo tambien a un buzon que se toma desde un switch que tengo arriba y que esta funcionando bien,

Para lograr esto hice lo siguiente:

$cabeceras .= 'Bcc: ', $sede - "\r\n";

Pero me da un error de sintaxis unexpected "," tambien probe con $cabeceras .= "Bcc: <?php echo $sede;?>";

y tampoco alguna idea?
__________________
Say no more.......
  #2 (permalink)  
Antiguo 10/02/2011, 14:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar correo a variable

el operador de concatenación es el punto (.) y no la coma, ni guión...

además de que puedes hacerlo de diversas formas, te invito a leer lo siguiente:
http://www.forosdelweb.com/f18/como-...1/#post2414268

aquí lo curioso es que sepas hacer bastantes cosas, menos lo básico... ¿o solo copias y pegas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/02/2011, 14:42
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

pate muchas gracias ,


pero lo probe asi

Código PHP:
Ver original
  1. // Cabeceras adicionales
  2. //$cabeceras .= 'To: Mar&iacute;a <[email protected]>, Kelly <[email protected]>' . "\r\n";
  3. $cabeceras .= 'From: Seminarios Practica <[email protected]>' . "\r\n";
  4. //$cabeceras .= 'Cc: [email protected]' . "\r\n";
  5. $cabeceras .= 'Bcc: [email protected]' . "\r\n";
  6. $cabeceras .= 'Bcc: [email protected]' . "\r\n";
  7. $cabeceras .= 'Bcc: [email protected]' . "\r\n";
  8. $cabeceras .= "Bcc: ".$sede. " ";

Y no me toma la variable
__________________
Say no more.......
  #4 (permalink)  
Antiguo 10/02/2011, 14:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar correo a variable

¿y donde defines $sede?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 10/02/2011, 15:32
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

sede lo defino asi

Código PHP:
Ver original
  1. $city = explode(",", $ciudad_as);
  2.  
  3. $city1 = $city[0];
  4.  
  5. switch ($city1) {
  6.     case "Bogota":
  7.         $sede = 'gerencia@****';       
  8. //      $sede = 'practicabogota@****';
  9.         break;
  10.     case "Bogot&aacute;":
  11.         $sede = 'soporte@****';
  12. //      $sede = 'practicabogota@****';
  13.         break;
  14.     case "Medellin":
  15.         $sede = 'ventas@c****';
  16. //      $sede = 'practicamedellin@******';
  17.         break;
  18.     case "Medell&iacute;n":
  19.         $sede = 'cartera@*****';
  20. //      $sede = 'practicamedellin@*****';
  21.         break;
  22.     case "Barranquilla":
  23.         $sede = 'contacto@******';
  24. //      $sede = 'practicabarranquilla@*****';
  25.         break;
  26. }

si le doy un echo esta tomando bien el valor.
Y $ciudad_as proviene de un form
__________________
Say no more.......

Última edición por el_cesar; 10/02/2011 a las 15:35 Razón: Eliminar dominios de los correos
  #6 (permalink)  
Antiguo 10/02/2011, 15:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar correo a variable

pero entonces, ¿en que parte del código con el que envías el correo defines $sede?

porque si bien la defines, y dices que no la toma... ¿están en el mismo lugar ambos códigos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 10/02/2011, 15:41
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

este es todo mi script
Código PHP:
Ver original
  1. <HEAD>
  2.  <meta name="tipo_contenido"  content="text/html;" http-equiv="content-type" charset="utf-8">
  3. </HEAD>
  4.  
  5. <title>Practica, Solicitud Procesada con Exito</title>
  6. <?php
  7.  
  8.  
  9. //recibimos variables
  10.  
  11. $semi=$_POST['seminario'];
  12. $ciudad_as=$_POST['ciudadas'];
  13. $nombre=$_POST['nombre'];
  14. $apellidos=$_POST['apellidos'];
  15. $cedula=$_POST['cedula'];
  16. $empresa=$_POST['empresa'];
  17. $nit=$_POST['nit'];
  18. $cargo=$_POST['cargo'];
  19. $email=$_POST['email'];
  20. $direccion=$_POST['direccion'];
  21. $pais=$_POST['pais'];
  22. $ciudad=$_POST['ciudad'];
  23. $fax=$_POST['fax'];
  24. $fijo=$_POST['fijo'];
  25. $celular=$_POST['celular'];
  26. $fijo2=$_POST['fijo2'];
  27. $comentarios=$_POST['comentarios'];
  28.  
  29. $fecha=date("Y-m-d", time()+7200);
  30. $hora=date("H:i:s", time()+7200);
  31.  
  32. $fecha_inserta=$fecha;
  33. $fecha_inserta.=" ";
  34. $fecha_inserta.=$hora;
  35.  
  36. //validamos los campos requeridos
  37.  
  38. if (((empty($nombre)) or (empty($apellidos)) or (empty($email)) or empty($fijo)) or (empty($cedula)))
  39. {
  40. echo "Olvido diligenciar alguno de los campos requeridos (Nombre, Apellidos, Email o Telefono Fijo) por favor  <a href='javascript:history.back(-1)'>Regrese</a>";
  41. }
  42.  
  43. else {
  44. //Averiguar los datos de la IP
  45.  
  46. if($_SERVER["HTTP_X_FORWARDED_FOR"]){
  47. echo "La Ip de tu proxy es:{$_SERVER["REMOTE_ADDR"]}<br>";
  48. echo "Tu IP es:{$_SERVER["HTTP_X_FORWARDED_FOR"]}";
  49. }else{
  50. echo "Tu IP es:{$_SERVER["REMOTE_ADDR"]}<br>";
  51. }
  52.  
  53.  
  54.  
  55. //Cuerpo del mensaje
  56. $body = "<table width='600' border='1'>";
  57. $body.="<tr>";
  58. $body.="<td width='55%'>Seminario</td>";
  59. $body.="<td width='45%'>".$semi."</td>";
  60. $body.="</tr>";
  61. $body.="<tr>";
  62. $body.="<td width='55%'>Ciudad de Asistencia</td>";
  63. $body.="<td width='45%'>".$ciudad_as."</td>";
  64. $body.="</tr>";
  65. $body.="<tr>";
  66. $body.="<td>Nombre</td>";
  67. $body.="<td>".$nombre."</td>";
  68. $body.="</tr>";
  69. $body.="<tr>";
  70. $body.="<td>Apellidos</td>";
  71. $body.="<td>".$apellidos."</td>";
  72. $body.="</tr>";
  73. $body.="<tr>";
  74. $body.="<td>Cedula</td>";
  75. $body.="<td>".$cedula."</td>";
  76. $body.="</tr>";
  77. $body.="<tr>";
  78. $body.="<td>Empresa</td>";
  79. $body.="<td>".$empresa."</td>";
  80. $body.="</tr>";
  81. $body.="<tr>";
  82. $body.="<td>NIT </td>";
  83. $body.="<td>".$nit."</td>";
  84. $body.="</tr>";
  85. $body.="<tr>";
  86. $body.="<td>Cargo  </td>";
  87. $body.="<td>".$cargo."</td>";
  88. $body.="</tr>";
  89. $body.="<tr>";
  90. $body.="<td>Email</td>";
  91. $body.="<td>".$email."</td>";
  92. $body.="</tr>";
  93. $body.="<tr>";
  94. $body.="<td>Direcci&oacute;n</td>";
  95. $body.="<td>".$direccion."</td>";
  96. $body.="</tr>";
  97. $body.="<tr>";
  98. $body.="<td>Pais</td>";
  99. $body.="<td>".$pais."</td>";
  100. $body.="</tr>";
  101. $body.="<tr>";
  102. $body.="<td>Ciudad</td>";
  103. $body.="<td>".$ciudad."</td>";
  104. $body.="</tr>";
  105. $body.="<tr>";
  106. $body.="<td>Fax</td>";
  107. $body.="<td>".$fax."</td>";
  108. $body.="</tr>";
  109. $body.="<tr>";
  110. $body.="<td>Tel&eacute;fono Fijo 1</td>";
  111. $body.="<td>".$fijo."</td>";
  112. $body.="</tr>";
  113. $body.="<tr>";
  114. $body.="<td>Celular</td>";
  115. $body.="<td>".$celular."</td>";
  116. $body.="</tr>";
  117. $body.="<tr>";
  118. $body.="<td>Tel&eacute;fono Fijo 2</td>";
  119. $body.="<td>".$fijo2."</td>";
  120. $body.="<td><label></label></td>";
  121. $body.="</tr>";
  122. $body.="<tr>";
  123. $body.="<td>Comentarios</td>";
  124. $body.="<td>".$comentarios."</td>";
  125. $body.="</tr>";
  126. $body.="<tr>";
  127. $body.="<td colspan='2'><p>Autorizo que me contacten por cualquier medio de los dispuestos por Practica segun los datos aportados a este formulario </p>";
  128.  
  129. $body.="<p>Practica - Telefono ++57 2 315 2471</p>";
  130. $body.="<p><a href='mailto:practica@*******'>practica@*******</a></p>";
  131. $body.="<p>CALI - COLOMBIA</p>";
  132.  
  133. $city = explode(",", $ciudad_as);
  134.  
  135. $city1 = $city[0];
  136.  
  137. switch ($city1) {
  138.     case "Bogota":
  139.         $sede = 'gerencia@*******';    
  140. //      $sede = '[email protected]';
  141.         break;
  142.     case "Bogot&aacute;":
  143.         $sede = 'soporte@*******';
  144. //      $sede = '[email protected]';
  145.         break;
  146.     case "Medellin":
  147.         $sede = 'ventas@*******';
  148. //      $sede = '[email protected]';
  149.         break;
  150.     case "Medell&iacute;n":
  151.         $sede = 'cartera@*******';
  152. //      $sede = '[email protected]';
  153.         break;
  154.     case "Barranquilla":
  155.         $sede = 'contacto@*******';
  156. //      $sede = '[email protected]';
  157.         break;
  158. }
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165. $para=$email;
  166. $asunto='Inscripcion a Seminario';
  167.  
  168. // Para enviar correo HTML, la cabecera Content-type debe definirse
  169. $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  170. $cabeceras .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  171.  
  172. // Cabeceras adicionales
  173. //$cabeceras .= 'To: Mar&iacute;a <[email protected]>, Kelly <[email protected]>' . "\r\n";
  174. $cabeceras .= 'From: Seminarios Practica <seminarios@*******>' . "\r\n";
  175. //$cabeceras .= 'Cc: [email protected]' . "\r\n";
  176. $cabeceras .= 'Bcc: practica@*******' . "\r\n";
  177. $cabeceras .= 'Bcc: seminarios@*******' . "\r\n";
  178. $cabeceras .= 'Bcc: cejarcon@*******' . "\r\n";
  179. $cabeceras .= "Bcc: ".$sede. " ";
  180.  
  181.  
  182. // Enviarlo
  183. mail($para, $asunto, $body, $cabeceras);
  184.  
  185. }
  186. echo $cabeceras;
  187.  
  188. ?>
  189. <div align="center">
  190.  
  191.   <p>&nbsp;</p>
  192.   <p><? echo $nombres; ?> Sus Datos se han recibido con &eacute;xito, en un periodo no superior a 48 horas uno de nuestros agentes estara en contacto con usted.</p>
  193.   <p>&nbsp;</p>
  194.   <p>Gracias por elegir a Practica como su aliado, ahora por favor visite nuestro portal web <a href="http://www.practica.com.co">http://www.practica.com.co</a> </p>
  195.   <p> Una copia de este correo ha sido enviada a este correo electronico <? echo $email; ?></p>
  196.  
  197. </div>
__________________
Say no more.......
  #8 (permalink)  
Antiguo 10/02/2011, 15:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar correo a variable

bien, ahora si se entiende como andas...

entonces, cuando imprimes las cabeceras, ¿que resulta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 10/02/2011, 15:46
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

si imprimo las cabeceras se lee esto

Cita:
MIME-Version: 1.0 Content-type: text/html; charset=utf-8 From: Seminarios Practica Bcc: practica@***** Bcc: seminarios@****** Bcc: cejarcon@***** Bcc:
__________________
Say no more.......
  #10 (permalink)  
Antiguo 10/02/2011, 15:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar correo a variable

y, ¿entonces porque dices que al imprimir $sede si da un valor?

porque no tiene mucho sentido lo que planteas, antes de imprimir las cabeceras imprime $sede, ¿de verdad sale algo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 10/02/2011, 15:58
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

si imprimo $sede antes del } de esta forma

Código PHP:
Ver original
  1. // Cabeceras adicionales
  2. //$cabeceras .= 'To: Mar&iacute;a <[email protected]>, Kelly <[email protected]>' . "\r\n";
  3. $cabeceras .= 'From: Seminarios Practica <seminarios@*****>' . "\r\n";
  4. //$cabeceras .= 'Cc: archivo@*****' . "\r\n";
  5. $cabeceras .= 'Bcc: practica@*****' . "\r\n";
  6. $cabeceras .= 'Bcc: seminarios@*****' . "\r\n";
  7. $cabeceras .= 'Bcc: cejarcon@******' . "\r\n";
  8. $cabeceras .= "Bcc: ".$sede. " ";
  9.  
  10.  
  11. // Enviarlo
  12. mail($para, $asunto, $body, $cabeceras);
  13. echo $sede;
  14. }
  15. echo $cabeceras;

No imprime el valor, pero si lo pongo despues

de esta forma

Código PHP:
Ver original
  1. // Cabeceras adicionales
  2. //$cabeceras .= 'To: Mar&iacute;a <[email protected]>, Kelly <[email protected]>' . "\r\n";
  3. $cabeceras .= 'From: Seminarios Practica <seminarios@*****>' . "\r\n";
  4. //$cabeceras .= 'Cc: [email protected]' . "\r\n";
  5. $cabeceras .= 'Bcc: practica@******' . "\r\n";
  6. $cabeceras .= 'Bcc: seminarios@******' . "\r\n";
  7. $cabeceras .= 'Bcc: cejarcon@*****' . "\r\n";
  8. $cabeceras .= "Bcc: ".$sede. " ";
  9.  
  10.  
  11. // Enviarlo
  12. mail($para, $asunto, $body, $cabeceras);
  13.  
  14. }
  15. echo $cabeceras;
  16. echo $sede;
si toma el valor
__________________
Say no more.......
  #12 (permalink)  
Antiguo 10/02/2011, 16:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Enviar correo a variable

Probá cambiando esto:

Código PHP:
Ver original
  1. switch ($city1) {
  2.     case "Bogota":
  3.         $sede = 'gerencia@*******';    
  4. //      $sede = '[email protected]';
  5.         break;
  6.     case "Bogot&aacute;":
  7.         $sede = 'soporte@*******';
  8. //      $sede = '[email protected]';
  9.         break;
  10.     case "Medellin":
  11.         $sede = 'ventas@*******';
  12. //      $sede = '[email protected]';
  13.         break;
  14.     case "Medell&iacute;n":
  15.         $sede = 'cartera@*******';
  16. //      $sede = '[email protected]';
  17.         break;
  18.     case "Barranquilla":
  19.         $sede = 'contacto@*******';
  20. //      $sede = '[email protected]';
  21.         break;
  22. }

por esto:

Código PHP:
Ver original
  1. switch ($city1) {
  2.     case "Bogota":
  3.         $sede = 'gerencia@*******';    
  4. //      $sede = '[email protected]';
  5.         break;
  6.     case "Bogot&aacute;":
  7.         $sede = 'soporte@*******';
  8. //      $sede = '[email protected]';
  9.         break;
  10.     case "Medellin":
  11.         $sede = 'ventas@*******';
  12. //      $sede = '[email protected]';
  13.         break;
  14.     case "Medell&iacute;n":
  15.         $sede = 'cartera@*******';
  16. //      $sede = '[email protected]';
  17.         break;
  18.     case "Barranquilla":
  19.         $sede = 'contacto@*******';
  20. //      $sede = '[email protected]';
  21.         break;
  22.    default:
  23.         $sede = 'tengo un error en el codigo';
  24.    break;
  25. }

y revisa a ver que imprime XD
  #13 (permalink)  
Antiguo 10/02/2011, 16:07
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

me imprime esto
Cita:
MIME-Version: 1.0 Content-type: text/html; charset=utf-8 From: Seminarios Practica Bcc: practica@******* Bcc: seminarios@******* Bcc: cejarcon@******* Bcc: tengo un error en el codigo
__________________
Say no more.......
  #14 (permalink)  
Antiguo 10/02/2011, 16:23
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Enviar correo a variable

Entonces el problema, como te dijo pateketrueke es que no tenés valor en $sede.

Tu problema debe estar acá:

Código PHP:
Ver original
  1. $city = explode(",", $ciudad_as);
  2.  
  3. $city1 = $city[0];

posiblemente en $_POST['ciudadas'] no está llegando lo que crees que llega.
  #15 (permalink)  
Antiguo 10/02/2011, 16:28
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

pero si ya imprimi el valor de $sede y como comente antes dentro del } se imprime pero fuera del } no, pero el valor si lo esta tomando al parecer
__________________
Say no more.......
  #16 (permalink)  
Antiguo 10/02/2011, 16:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar correo a variable

pero cuando imprimes $sede inmediatamente después del switch, ¿que resulta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 10/02/2011, 20:33
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Enviar correo a variable

Si lo imprimo inmediatamente despues del switch no muestra nada
__________________
Say no more.......

Etiquetas: correo, enviar, variables
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 15:16.