Foros del Web » Programando para Internet » PHP »

Como cambio el From???

Estas en el tema de Como cambio el From??? en el foro de PHP en Foros del Web. Tengo este script php para enviar datos desde un formulario. Código PHP: <?  if ( $action == "send" ) {  $message = "Nombre: $nombre\nEmail: $email\nMSN: $msn\nCiudad: $ciudad\nPaís: $pais\nAsunto: $motivo\nMensaje:\n$mensaje" ;  mail ( "[email protected]" ...
  #1 (permalink)  
Antiguo 20/03/2003, 17:22
Avatar de FredNess  
Fecha de Ingreso: noviembre-2002
Ubicación: Chile
Mensajes: 47
Antigüedad: 22 años
Puntos: 0
Como cambio el From???

Tengo este script php para enviar datos desde un formulario.

Código PHP:
<? 
if ($action=="send") { 
$message="Nombre: $nombre\nEmail: $email\nMSN: $msn\nCiudad: $ciudad\nPaís: $pais\nAsunto: $motivo\nMensaje:\n$mensaje"
mail("[email protected]""Nuevo contacto..."$message); 
echo 
"Gracias!!"

?>
Pero al llegar un mensaje viene departe de APACHE. Como lo puedo hacer para que llegue departe de $nombre+$email ??

Gracias. Espero sus respuestas...
  #2 (permalink)  
Antiguo 20/03/2003, 18:16
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 21 años, 11 meses
Puntos: 0
Ummm.... Pues se puede hacer, pero implica convencer a tus proveedores de hosting.

El que envia el email es el usuario de Apache, eso es así y punto. Por lo tanto, hay que configurar el MTA o servidor SMTP para que permita que el usuario bajo el cual se ejecuta Apache pueda modificar la cabecera "From". Que es lo que haces precisamente cuando incluyes esa cabecera en la función mail() de PHP.

Generalmente, se trata de agregar al usuario de apache al grupo de "trusted users" del servidor SMTP.

Bueno, habla con los de tu hosting.

Un saludo
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
  #3 (permalink)  
Antiguo 20/03/2003, 18:17
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 21 años, 11 meses
Puntos: 0
Se me olvidaba advertir que tiendo a pensar en los más complicado, puede que la solución sea más sencilla, pero no se me ocurre....

UN saludo
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
  #4 (permalink)  
Antiguo 20/03/2003, 18:45
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 22 años
Puntos: 4
creo q es la unica solucion :P
lo q nose si PHP será capaz de poder enviar usando un smtp distinto al puesto por servidor, espero q alguien me corrija
__________________
Blog | Tecnosquad
  #5 (permalink)  
Antiguo 20/03/2003, 20:14
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 23 años
Puntos: 2
pone

$sheader ="From: ".$tuemail."\n";

el email de la varialble tuemail o cualquier email en texto normal y despues el \n que si no, no anda
eso va a aparecer en el From pero si miran los detalles te va a decir los datos del servidor

___
JmN
__________________
JmN
  #6 (permalink)  
Antiguo 20/03/2003, 20:16
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 23 años
Puntos: 2
a y me olvide y esa variable la pones como un parametro del mail()

osea:

Código PHP:
mail("[email protected]""Nuevo contacto..."$message$sheader); 
hasta ahora yo uso nada mas que el mail pero proba poner el nombre y el mail entre <> y fijate si te funciona.

___
JmN
__________________
JmN

Última edición por jmn2k1; 20/03/2003 a las 20:20
  #7 (permalink)  
Antiguo 20/03/2003, 20:30
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 22 años, 3 meses
Puntos: 4
Cita:
Mensaje Original por jmn2k1
a y me olvide y esa variable la pones como un parametro del mail()

osea:

Código PHP:
mail("[email protected]""Nuevo contacto..."$message$sheader); 
hasta ahora yo uso nada mas que el mail pero proba poner el nombre y el mail entre <> y fijate si te funciona.

___
JmN

Adhiero, he probado bastante ese asunto y la solución que te plantea jmn2k1 "disfraza" la dirección apache por un supuesto email usando lo que comunmente vemos cuando recibimos un email:

<? $sheader ="From: Juan Perez <[email protected]>\n"; ?>

De: Juan Perez <[email protected]>

El usuario de apache siempre está limitado y sin privilegios, sin embargo puedes enviar emails desde otras cuentas si el servidor que las alberga tuviera "relay" abierto (algo que los spammers encontrarán antes que tú).
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #8 (permalink)  
Antiguo 21/03/2003, 09:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Mensaje Original por ArrauKano
creo q es la unica solucion :P
lo q nose si PHP será capaz de poder enviar usando un smtp distinto al puesto por servidor, espero q alguien me corrija
Si que puedes usar otro SMTP al que usa la configuración de PHP por defecto y a su vez seguir usando la función mail() ..

Ese parámetro lo ajustas en tiempo de ejecución via:
Código PHP:
ini_set("SMTP","IP o nombre servirdor SMTP"); 
Tambien puedes enviar un mail por PHP sin usar la fución mail() de PHP y a traves de tu SMTP que quieras .. Hay muchas classes que hacen dicha tarea ..

Yo siempre recomiendo: http://phpmailer.sourceforge.net
Puedes enviar mail por la funcion mail() de PHP .. por sockets (a un SMTP directo) o conectando al MTA directo... Y no solo e-mail comun en texto plano sino, comodamente enviar attachments (archivos adjuntos) en el mail .. o e-mail multiparte (texto plano/html) e imagenes en mails HTML incrustadas .. entre otras cosas ..

Por lo demas .. Es bueno revisar la referencia oficial de mail() .. ahí veran cabeceras tipo FROM y algunas. Tambien los links hacia los RFC correspondientes que describen el protocoolo usado ..
http://www.php.net/manual/en/function.mail.php

Un saludo,
  #9 (permalink)  
Antiguo 21/03/2003, 16:11
Avatar de FredNess  
Fecha de Ingreso: noviembre-2002
Ubicación: Chile
Mensajes: 47
Antigüedad: 22 años
Puntos: 0
Cita:
Mensaje Original por jmn2k1
pone

$sheader ="From: ".$tuemail."\n";
disculpa mi ignorancia, pero, en que parte del codigo agrego esas lineas??
  #10 (permalink)  
Antiguo 21/03/2003, 21:14
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 22 años
Puntos: 4
----------------
a FREDNESS ->>>

RTFM
http://www.php.net/manual/en/function.mail.php
http://www.rinconastur.com/php/php64.php

----------------
a Cluster ->>>

thanks :D
creo q esa es una buena opcion, asi las cabeceras el mai seran directamente tratadas por tu script y no por el server.

Por si las dudas, con eso tambien puedo reemplazar la linea de php.ini q dice algo asi:

sendmail_from = "[email protected]"

????
__________________
Blog | Tecnosquad
  #11 (permalink)  
Antiguo 22/03/2003, 08:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
ArrauKano ..

Eso de "RTFM" es muyyy feo .. omitelo en estos foros please. No quiero lios. (Read The Fuckin Manual - Lee el Jodido Manual)

Lo del sendmail_from .. tan solo es si usas como MTA (aplicate las siglas tu :PP) sendmail .. ya que podrías usar otro como PostFIX o cualquier otro ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 22:28.