Foros del Web » Programando para Internet » PHP »

Enviar url automatico al enviar un email

Estas en el tema de Enviar url automatico al enviar un email en el foro de PHP en Foros del Web. Hola amigos como están? Quisiera que me ayuden un poquito para saber como puedo enviar la url de la pagina actual por mail. El código ...
  #1 (permalink)  
Antiguo 19/10/2016, 21:11
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Enviar url automatico al enviar un email

Hola amigos como están?
Quisiera que me ayuden un poquito para saber como puedo enviar la url de la pagina actual por mail.

El código que uso es este, actualmente lo tengo manual
Código PHP:
Ver original
  1. <?php
  2. if ( isset($_POST[ 'nombre' ]) and !empty( $_POST[ 'nombre' ] ) ){  
  3.       $para = $_POST['receptor'];
  4.       $asunto = "Postal enviada por tu amigo/a desde gdfemia.com.ar";
  5.       $nombre = $_POST['nombre'];
  6.       $mail = $_POST['email'];
  7.       $link = $_POST['link'];
  8.       $consulta = $_POST['consulta'];
  9.       $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  10.       $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " http://www.gdfemia.com.ar/web/estatica/postaldiasfestivos4.html ";
  11.       $mensaje .= " El email de su amigo es: " . $mail . " \r\n";
  12.       $mensaje .= " Mensaje: " . $consulta . " \r\n";
  13.       $mensaje .= " Enviado el " . date('d/m/Y', time());
  14.       $cabeceras = 'From: [email protected]' . "\r\n" .
  15.        'Reply-To: [email protected]' . "\r\n" .
  16.        'X-Mailer: PHP/' . phpversion();
  17.       $mensaje = wordwrap($mensaje, 70);
  18.       ini_set(sendmail_from,'[email protected]');
  19.       mail($para, $asunto, utf8_decode($mensaje), $cabeceras);
  20.       ?>
  21.       <?php
  22. }
  23. ?>

la idea es que sea automatico

por ejemplo $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " URL AUTOMATI ";

Gracias.
  #2 (permalink)  
Antiguo 19/10/2016, 22:02
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 5 meses
Puntos: 91
Respuesta: Enviar url automatico al enviar un email

Mira la Variable SERVER de php ;)
http://php.net/manual/es/reserved.variables.server.php
  #3 (permalink)  
Antiguo 19/10/2016, 22:30
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Enviar url automatico al enviar un email

utilice esta función pero no me funciona
Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " echo $_SERVER['SERVER_NAME']; ";
  #4 (permalink)  
Antiguo 20/10/2016, 17:01
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 5 meses
Puntos: 91
Respuesta: Enviar url automatico al enviar un email

Cita:
Iniciado por el_loco90 Ver Mensaje
utilice esta función pero no me funciona
Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " echo $_SERVER['SERVER_NAME']; ";
Tienes un error en ese codigo, prueba con este
Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . $_SERVER['SERVER_NAME'];
  #5 (permalink)  
Antiguo 20/10/2016, 20:50
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Enviar url automatico al enviar un email

Cita:
Iniciado por AngelKrak Ver Mensaje
Tienes un error en ese codigo, prueba con este
Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . $_SERVER['SERVER_NAME'];
me manda el mail con la url incompleta
asi me lo manda
Este mensaje fue enviado por l
Te han enviado una postal, para verla entra a portal.gdfemia.com El
email de su amigo es: [email protected]
Mensaje: l
Enviado el 20/10/2016

y me lo tiene que manda asi
http://portal.gdfemia.com/web/estati...festivos4.html

mil gracias
  #6 (permalink)  
Antiguo 20/10/2016, 21:09
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 5 meses
Puntos: 91
Respuesta: Enviar url automatico al enviar un email

para eso mira este tutorial ;)
http://www.anerbarrena.com/obtener-url-actual-php-3555/
  #7 (permalink)  
Antiguo 20/10/2016, 21:18
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Enviar url automatico al enviar un email

Cita:
Iniciado por AngelKrak Ver Mensaje
lo hice asi pero sigue sin funcionar
Código PHP:
Ver original
  1. <?php
  2. if ( isset($_POST[ 'nombre' ]) and !empty( $_POST[ 'nombre' ] ) ){  
  3.       $host= $_SERVER["HTTP_HOST"];
  4.       $url= $_SERVER["REQUEST_URI"];
  5.       echo "http://" . $host . $url;
  6.       $host= $_SERVER["HTTP_HOST"];
  7.       $url= $_SERVER["REQUEST_URI"];
  8.       $para = $_POST['receptor'];
  9.       $asunto = "Postal enviada por tu amigo/a desde gdfemia.com.ar";
  10.       $nombre = $_POST['nombre'];
  11.       $mail = $_POST['email'];
  12.       $link = $_POST['link'];
  13.       $consulta = $_POST['consulta'];
  14.       $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  15.       $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " echo "http://" . $host . $url; ";
  16.       $mensaje .= " El email de su amigo es: " . $mail . " \r\n";
  17.       $mensaje .= " Mensaje: " . $consulta . " \r\n";
  18.       $mensaje .= " Enviado el " . date('d/m/Y', time());
  19.       $cabeceras = 'From: [email protected]' . "\r\n" .
  20.        'Reply-To: [email protected]' . "\r\n" .
  21.        'X-Mailer: PHP/' . phpversion();
  22.       $mensaje = wordwrap($mensaje, 70);
  23.       ini_set(sendmail_from,'[email protected]');
  24.       mail($para, $asunto, utf8_decode($mensaje), $cabeceras);
  25.       ?>
  26.       <?php
  27. }
  28. ?>
  #8 (permalink)  
Antiguo 21/10/2016, 03:30
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Enviar url automatico al enviar un email

Hola ,

Sigues colocando el echo como no debes, ya te lo dijo AngelKrak, en vez de así:

Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " echo "http://" . $host . $url; ";

Es así:

Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " http://" . $host . $url; ";

Así obtienes la URL actual, lo que no significa que sea la que tú necesitas que se envíe, porque, la verdad, no acabo de entender qué URL necesitas enviar...
  #9 (permalink)  
Antiguo 21/10/2016, 18:44
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Enviar url automatico al enviar un email

Cita:
Iniciado por rbczgz Ver Mensaje
Hola ,

Sigues colocando el echo como no debes, ya te lo dijo AngelKrak, en vez de así:

Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " echo "http://" . $host . $url; ";

Es así:

Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " http://" . $host . $url; ";

Así obtienes la URL actual, lo que no significa que sea la que tú necesitas que se envíe, porque, la verdad, no acabo de entender qué URL necesitas enviar...
lo estoy haciendo asi
Código PHP:
Ver original
  1. <?php
  2. if ( isset($_POST[ 'nombre' ]) and !empty( $_POST[ 'nombre' ] ) ){  
  3.       $host= $_SERVER["HTTP_HOST"];
  4.       $url= $_SERVER["REQUEST_URI"];
  5.       $para = $_POST['receptor'];
  6.       $asunto = "Postal enviada por tu amigo/a desde gdfemia.com.ar";
  7.       $nombre = $_POST['nombre'];
  8.       $mail = $_POST['email'];
  9.       $link = $_POST['link'];
  10.       $consulta = $_POST['consulta'];
  11.       $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  12.       $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " http:// " . $host . $url;
  13.       $mensaje .= " El email de su amigo es: " . $mail . " \r\n";
  14.       $mensaje .= " Mensaje: " . $consulta . " \r\n";
  15.       $mensaje .= " Enviado el " . date('d/m/Y', time());
  16.       $cabeceras = 'From: [email protected]' . "\r\n" .
  17.        'Reply-To: [email protected]' . "\r\n" .
  18.        'X-Mailer: PHP/' . phpversion();
  19.       $mensaje = wordwrap($mensaje, 70);
  20.       ini_set(sendmail_from,'[email protected]');
  21.       mail($para, $asunto, utf8_decode($mensaje), $cabeceras);
  22.       ?>
  23.       <?php
  24. }
  25. ?>

pero me manda el vinculo asi http://
portal.gdfemia.com.ar/web/estatica/enviodepostales.php

y me lo tendría que enviar asi http://portal.gdfemia.com.ar/web/est...lamistad1.html

enviodepostales.php es el archivo que contiene el php de arriba, es decir, las postales están hechas en flash y al enviar lee enviodepostales.php y envía con la url de la postal, me explico?
  #10 (permalink)  
Antiguo 21/10/2016, 18:50
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 8 años, 9 meses
Puntos: 2
Respuesta: Enviar url automatico al enviar un email

Explicame un poco, supongo que la url que quieres mandar dirige a un artículo en particular, desde dónde estás ejecutando el formulario?
  #11 (permalink)  
Antiguo 21/10/2016, 19:00
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Enviar url automatico al enviar un email

Cita:
Iniciado por Silenn Ver Mensaje
Explicame un poco, supongo que la url que quieres mandar dirige a un artículo en particular, desde dónde estás ejecutando el formulario?
Te explico:
Tengo varias postales realizada en flash ej http://portal.gdfemia.com.ar/web/est...lamistad1.html

Al enviar una postal ejecuta una llamada a enviodepostales.php
esto ejecuta
Código Javascript:
Ver original
  1. on (release) {
  2.     // Here we will validate the fields (make sure something was actually typed in)
  3.     if (!_root.nombre.length) {
  4.         _root.Status = "Por favor, ingrese su nombre";
  5.     } else {
  6.    
  7.             if (!_root.email.length || _root.Email.indexOf("@") == -1 || _root.Email.indexOf(".") == -1) {
  8.                 _root.Status = "Por favor, ingrese tu email";
  9.             } else {
  10.          if (!_root.receptor.length || _root.Receptor.indexOf("@") == -1 || _root.Receptor.indexOf(".") == -1) {
  11.                 _root.Status = "Por favor, ingrese el email del destinatario";
  12.         } else {
  13.                 if (!_root.mensaje.length) {
  14.                     _root.Status = "Por favor, escriba su mensaje";
  15.                 } else {
  16.  
  17.                     // Make sure to add any additional input fields here as well
  18.                     _root.Status = "La postal ha sido enviada";
  19.                     nombre = _root.nombre;
  20.                     email = _root.email;
  21.                     receptor = _root.receptor;
  22.                     consulta = _root.mensaje;
  23.                     loadVariablesNum("enviodepostales.php",0,'POST');
  24.                     _root.gotoAndPlay("submitted");
  25.                 }
  26.             }
  27.         }
  28.     }
  29. }
y el php se encarga de enviar el mensaje con la url de la postal
Código PHP:
Ver original
  1. <?php
  2. if ( isset($_POST[ 'nombre' ]) and !empty( $_POST[ 'nombre' ] ) ){  
  3.       $host= $_SERVER["HTTP_HOST"];
  4.       $url= $_SERVER["REQUEST_URI"];
  5.       $para = $_POST['receptor'];
  6.       $asunto = "Postal enviada por tu amigo/a desde gdfemia.com.ar";
  7.       $nombre = $_POST['nombre'];
  8.       $mail = $_POST['email'];
  9.       $link = $_POST['link'];
  10.       $consulta = $_POST['consulta'];
  11.       $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  12.       $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " http:// " . $host . $url;
  13.       $mensaje .= " El email de su amigo es: " . $mail . " \r\n";
  14.       $mensaje .= " Mensaje: " . $consulta . " \r\n";
  15.       $mensaje .= " Enviado el " . date('d/m/Y', time());
  16.       $cabeceras = 'From: [email protected]' . "\r\n" .
  17.        'Reply-To: [email protected]' . "\r\n" .
  18.        'X-Mailer: PHP/' . phpversion();
  19.       $mensaje = wordwrap($mensaje, 70);
  20.       ini_set(sendmail_from,'[email protected]');
  21.       mail($para, $asunto, utf8_decode($mensaje), $cabeceras);
  22.       ?>
  23.       <?php
  24. }
  25. ?>

y ahí en ver de enviar http://portal.gdfemia.com.ar/web/est...lamistad1.html me envía http://
portal.gdfemia.com.ar/web/estatica/enviodepostales.php

es decir
http://
portal.gdfemia.com.ar/web/estatica/ -> hasta aca me manda bien
http://
portal.gdfemia.com.ar/web/estatica/enviodepostales.php -> en vez de mandarme la terminación de la url que seria postalamistad1.html, me manda enviodepostales.php que es el código php que uso para enviar
  #12 (permalink)  
Antiguo 22/10/2016, 01:19
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Enviar url automatico al enviar un email

Cita:
Iniciado por el_loco90 Ver Mensaje
Te explico:
Tengo varias postales realizada en flash ej http://portal.gdfemia.com.ar/web/est...lamistad1.html

Al enviar una postal ejecuta una llamada a enviodepostales.php
esto ejecuta
Código Javascript:
Ver original
  1. on (release) {
  2.     // Here we will validate the fields (make sure something was actually typed in)
  3.     if (!_root.nombre.length) {
  4.         _root.Status = "Por favor, ingrese su nombre";
  5.     } else {
  6.    
  7.             if (!_root.email.length || _root.Email.indexOf("@") == -1 || _root.Email.indexOf(".") == -1) {
  8.                 _root.Status = "Por favor, ingrese tu email";
  9.             } else {
  10.          if (!_root.receptor.length || _root.Receptor.indexOf("@") == -1 || _root.Receptor.indexOf(".") == -1) {
  11.                 _root.Status = "Por favor, ingrese el email del destinatario";
  12.         } else {
  13.                 if (!_root.mensaje.length) {
  14.                     _root.Status = "Por favor, escriba su mensaje";
  15.                 } else {
  16.  
  17.                     // Make sure to add any additional input fields here as well
  18.                     _root.Status = "La postal ha sido enviada";
  19.                     nombre = _root.nombre;
  20.                     email = _root.email;
  21.                     receptor = _root.receptor;
  22.                     consulta = _root.mensaje;
  23.                     loadVariablesNum("enviodepostales.php",0,'POST');
  24.                     _root.gotoAndPlay("submitted");
  25.                 }
  26.             }
  27.         }
  28.     }
  29. }
y el php se encarga de enviar el mensaje con la url de la postal
Código PHP:
Ver original
  1. <?php
  2. if ( isset($_POST[ 'nombre' ]) and !empty( $_POST[ 'nombre' ] ) ){  
  3.       $host= $_SERVER["HTTP_HOST"];
  4.       $url= $_SERVER["REQUEST_URI"];
  5.       $para = $_POST['receptor'];
  6.       $asunto = "Postal enviada por tu amigo/a desde gdfemia.com.ar";
  7.       $nombre = $_POST['nombre'];
  8.       $mail = $_POST['email'];
  9.       $link = $_POST['link'];
  10.       $consulta = $_POST['consulta'];
  11.       $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  12.       $mensaje .= " Te han enviado una postal, para verla entra a " . $link . " http:// " . $host . $url;
  13.       $mensaje .= " El email de su amigo es: " . $mail . " \r\n";
  14.       $mensaje .= " Mensaje: " . $consulta . " \r\n";
  15.       $mensaje .= " Enviado el " . date('d/m/Y', time());
  16.       $cabeceras = 'From: [email protected]' . "\r\n" .
  17.        'Reply-To: [email protected]' . "\r\n" .
  18.        'X-Mailer: PHP/' . phpversion();
  19.       $mensaje = wordwrap($mensaje, 70);
  20.       ini_set(sendmail_from,'[email protected]');
  21.       mail($para, $asunto, utf8_decode($mensaje), $cabeceras);
  22.       ?>
  23.       <?php
  24. }
  25. ?>

y ahí en ver de enviar http://portal.gdfemia.com.ar/web/est...lamistad1.html me envía http://
portal.gdfemia.com.ar/web/estatica/enviodepostales.php

es decir
http://
portal.gdfemia.com.ar/web/estatica/ -> hasta aca me manda bien
http://
portal.gdfemia.com.ar/web/estatica/enviodepostales.php -> en vez de mandarme la terminación de la url que seria postalamistad1.html, me manda enviodepostales.php que es el código php que uso para enviar
No entiendo si pasas el link por POST, porque muestras ese link y después usas
Código:
$host= $_SERVER["HTTP_HOST"];
$url= $_SERVER["REQUEST_URI"];
No veo como pasas el link, pero si la url a la que tiene que entrar es la misma que desde la que se llama a enviodepostales.php, le debes mandar el link y en enviodepostales.php lo coges y cambias la linea
Código:
$mensaje .= " Te han enviado una postal, para verla entra a <a href='$link'>$link</a>"
  #13 (permalink)  
Antiguo 22/10/2016, 15:45
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Enviar url automatico al enviar un email

Lo hice asi y tampoco funciona

Código PHP:
Ver original
  1. <?php
  2. if ( isset($_POST[ 'nombre' ]) and !empty( $_POST[ 'nombre' ] ) ){  
  3.       $host= $_SERVER["HTTP_HOST"];
  4.       $url= $_SERVER["REQUEST_URI"];
  5.       $para = $_POST['receptor'];
  6.       $asunto = "Postal enviada por tu amigo/a desde gdfemia.com.ar";
  7.       $nombre = $_POST['nombre'];
  8.       $mail = $_POST['email'];
  9.       $link = $_POST['link'];
  10.       $consulta = $_POST['consulta'];
  11.       $mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
  12.       $mensaje .= " Te han enviado una postal, para verla entra a " . $link . "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  13.       $mensaje .= " El email de su amigo es: " . $mail . " \r\n";
  14.       $mensaje .= " Mensaje: " . $consulta . " \r\n";
  15.       $mensaje .= " Enviado el " . date('d/m/Y', time());
  16.       $cabeceras = 'From: [email protected]' . "\r\n" .
  17.        'Reply-To: [email protected]' . "\r\n" .
  18.        'X-Mailer: PHP/' . phpversion();
  19.       $mensaje = wordwrap($mensaje, 70);
  20.       ini_set(sendmail_from,'[email protected]');
  21.       mail($para, $asunto, utf8_decode($mensaje), $cabeceras);
  22.       ?>
  23.       <?php
  24. }
  25. ?>

me manda el vinculo asi
http://portal.gdfemia.com.ar/web/est...depostales.php

y me lo tendría que enviar asi
http://portal.gdfemia.com.ar/web/est...festivos4.html

no se porque me manda enviodepostales.php
  #14 (permalink)  
Antiguo 25/10/2016, 15:26
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Enviar url automatico al enviar un email

Desde la página de la postal, adjunta la url de la postal con window.location.href
Después en la página de enviodepostales.php, recoge esa url en una variable link y pones esto:
Código PHP:
Ver original
  1. $mensaje .= " Te han enviado una postal, para verla entra a  <a href='$link'>$link</a>";

Etiquetas: automatico, email, html, url
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:40.