Foros del Web » Programando para Internet » PHP »

erro al enviar mail

Estas en el tema de erro al enviar mail en el foro de PHP en Foros del Web. hola amigos mi problema es que he echo un formulario donde la gente puede recomendar la web para ello utilizo la funcion "mail()" lo he ...
  #1 (permalink)  
Antiguo 23/04/2004, 20:05
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
erro al enviar mail

hola amigos mi problema es que he echo un formulario donde la gente puede recomendar la web para ello utilizo la funcion "mail()" lo he probado.. de llegar llega, .. pero llega como correo anonimo ademas no muestra las cebeceras que yo le doy haber si le echan un ojo
He aqui el codigo:

<?
if (empty($nomamigo)|| empty($mailamigo) || empty($tunombre) || empty($tumail)){
echo "Debe rellenar los datos indicados";
}else{
$asunto="Recomendar Futbolmania";
$mensaje ="Hola $nomamigo quiero recomendarte esta direccion:\n http://www.futbolmania.com.pe \n";
$cabecera ="Fecha: ".date("j-m-y")."\n";
$cabecera .="MIME-Version: 1.0 \n";
$cabecera .="From : ".$tunombre."<".$tumail.">\n";
$cabecera .= "X-Mailer: PHP/".phpversion()."\n";
mail($mailamigo, $asunto, $mensaje, $cabecera);
echo "Tu mensaje a sido enviado con éxito a $mailamigo ";
}
?>
  #2 (permalink)  
Antiguo 24/04/2004, 09:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

FEcha no es una cabecera standard, asi que puede ser ella la que de problemas. Tambien especificas que es un mensaje MIME, pero no dices de que tipo es.

Revisa www.php.net/mail .

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 24/04/2004, 10:33
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
error al enviar mail

Bueno disculpen creo que no me explique bien con la desesperacion, el problema es que los correos llegan a su destino pero no con el nombre del remitente miren esto es asi como llega :

De: <[email protected]> "este es mi problema el correo remitente"
Responder a: [email protected]
Enviado el: vendredi 23 avril 2004 22:20:55
Para: [email protected]
Asunto: Recomendar Futbolmania

En la primera linea no sale el correo que le doy desde el formulario siempre me sale este correo,.. pero que curioso donde dice Responder a: si sale el correo y es la misma variable que paso desde el formulario no entiendo verdad y ademas donde esta la fecha que le doy o no debe salir me pueden dar una solucion por favor
  #4 (permalink)  
Antiguo 24/04/2004, 10:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿SMTP o sendmail? Si es sendmail, si miras en la documentacion veras que hay un ultimo parametro en mail() que permite pasar parametros al sendmail. Y el ejemplo que pone es para pasarle el valor del from.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 24/04/2004, 11:14
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
Bueno haber si te entiendo creeme que me leido todo sobre la funcion mail() pero tengo algunas inquietudes la funcion mail() tiene 4 parametros si no me equivoco y si lo hago me corriges el ultimo al que te refires es el de cabeceras adicionales ahi es donde pongo lo que tu me dices si es SMTP o sendmail por otro lado eso de SMTP o Sendmail son protocolos verdad o no? puedes explicarme esa parte por favor y decirme porque llega con ese nombre de anonimo [email protected] puedes por favor
  #6 (permalink)  
Antiguo 24/04/2004, 15:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
mail() tiene 5 parametros. Y SMTP o sendmail es a quien pasa PHP el email para enviar el email. Si no sabes cual usas, pregunta a tu hosting (si es linux sera sendmail casi seguro).

Y llega anonimo porque el servidor SMTP o el sendmail "pisan" el valor que le indicas en el from por el valor que ellos tienen configurados.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 26/04/2004, 10:34
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
Quitar el pisotón

¿Y hay alguna manera de quitarle el pisotón?

Lo curioso es que incluso haciendo las pruebas off-line sale:

Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in (el numero de linea)

aún teniendo un from definido.

Dice que el error es desde php. Aunque se pueda configurar el php.ini de manera local, la cuestión es de que al subir un script a un servidor de todos modos el error se va.

Ya había comentado ese error, y aunque recomiendan usar el phpmailer, sería interesante saber como solucionar eso.

Curiosamente hotmail y yahoo por ejemplo si reconocen el "from" del correo, pero las cuentas pop3 reconocen el del servidor.

Última edición por Rafael; 26/04/2004 a las 10:45
  #8 (permalink)  
Antiguo 26/04/2004, 21:06
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
Pues la verdad amigos necesito su ayuda, estuve haciendo la prueba a nivel local y tambien pasa lo mismo pero en ese caso me fui al php.ini y vi una opcion que decia sendmail donde tenia un valor, la cual era una cuenta de correo esto quiere decir que esa cuenta es la que remplaza al valor de mi from pero como le hago para que agarre el valor que le doy en mi formulario ya que los almaceno en una variable...
Espero su ayuda por favor amigos de F del Web
  #9 (permalink)  
Antiguo 29/04/2004, 16:02
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
Tal vez sea una cuestión de seguridad, si no cualquiera se haría pasar por otro. ¿No?.
  #10 (permalink)  
Antiguo 29/04/2004, 18:21
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
Una consulta ese correo te llega a hotmail..........
  #11 (permalink)  
Antiguo 30/04/2004, 10:56
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
Cita:
Curiosamente hotmail y yahoo por ejemplo si reconocen el "from" del correo, pero las cuentas pop3 reconocen el del servidor.
Lo que hay que corregir es:

Cita:
custom "From:" header missing
Incluso el ejemplo mismo de la referencia de php, de la función mail:

<?php
/* recipients */
$to = "Mary <[email protected]>" . ", " ; // note the comma
$to .= "Kelly <[email protected]>";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* To send HTML mail, you can set the Content-type header. */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "From: Birthday Reminder <[email protected]>\r\n";

$headers .= "Cc: [email protected]\r\n";
$headers .= "Bcc: [email protected]\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>


marca el mismo error.

Última edición por Rafael; 30/04/2004 a las 11:08
  #12 (permalink)  
Antiguo 30/04/2004, 12:54
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
Si llega a hotmail la verdad que llega al destino donde le indicas pero no llega el nombre del correo del remitente que es remmplazado por un correo anonimo pues acabo de leer la funcion mail() si tiene un 5 parametro que es la de agregar parametros adicionales pero no especifica bien como se usa alguien que em pueda dar una ayuda porfa
  #13 (permalink)  
Antiguo 30/04/2004, 13:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Tambien para "pisar" el valor de sendmail_from del php.ini puedes usar ini_set() (www.php.net/ini_set).

Y tambien replanteria el orden en que especificas las cabeceras. En teoria no deberia importar, pero por si acaso, pon el from el primero. Y repito que Fecha no creo que sea una cabecera "oficial" y puede que cause problemas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #14 (permalink)  
Antiguo 04/05/2004, 12:29
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
Insistiendo con mail

Holas nuevamente voy a poner a prueba esa funcion de ini_set() haber como funca pero no se si pudieras poner algun ejemplo para dar solucion a este problema por mi lado voy hacer eso que te digo y te estare comentando

saludos juanpro
  #15 (permalink)  
Antiguo 04/05/2004, 12:59
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
Disculpen ahi les pongo la configuracion de mi host
esto es del sendmail
sendmail_from [email protected] [email protected]
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail
pues es ese el correo que es reemplazo en mi from
  #16 (permalink)  
Antiguo 04/05/2004, 15:34
 
Fecha de Ingreso: abril-2004
Mensajes: 1
Antigüedad: 13 años, 7 meses
Puntos: 0
hola Quisiera hacer un a consulta....Como se si un servidor aguante PHP??
  #17 (permalink)  
Antiguo 04/05/2004, 16:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Create un archivo info.php .. lo subes a tu servidor y lo ejecutas por el URL como si de cualquier página HTML se tratase:

http://www.nose.tal/info.php

Código PHP:
<?php
phpinfo
();
?>
Si tienes soporte PHP ya veras una información sobre la versión que usas .. extensiones instaladas y demás configuración de PHP. Si el código lo ves o se te entrega a descargar --> no tienes soporte PHP.


PD: para próximas veces intenta realizar tus preguntas como "tema nuevo" en el foro .. si realmente no son del tema que trata el mensaje en cuestión ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #18 (permalink)  
Antiguo 11/05/2005, 12:25
 
Fecha de Ingreso: mayo-2005
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Acerca del [email protected]

Muy buenas...
Buscando soluciones a mi problema he dado con este hilo que parece que tiene bastante referencia...
El tema es que tengo instalado el QK SMPT SERVER para el envio de e-mails desde scripts de PHP y siempre me aparece en el remitente [email protected]alhost.com.
He configurado el archivo "php.ini" con sendmail_from = "mi direccion de correo electronico" pero no funciona, sigue utilizando esa. He probado también a ponerlo así => sendmail_from = "NOMBRE <email>" pero nada.
Supuse que sería algún problema del servidor de correo pero no encuentro nada en la configuración que me solucione el problema...

Si alguien me puede echar un cable se lo agradezco mucho
  #19 (permalink)  
Antiguo 11/05/2005, 16:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cuando has realizado tus cambios en tu php.ini . has verificado que el cambio quedó bien? .. haciendo un phpinfo() ...

Por otro lado no sé que e-mail estás componiendo .. pero si usas las cabeceras FROM: .. no tendrias ni que tener que usar "sendmail_from" .. de tu php.ini. En este mismo mensaje las veras ($cabeceras ... ) en los ejemplos.

Un saludo,
  #20 (permalink)  
Antiguo 11/05/2005, 16:36
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
es imporatante reiniciar el servidor para que tomen los cambios, si no el dia del nispero los va a tomar y te seguira enviando errores
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #21 (permalink)  
Antiguo 11/05/2005, 16:39
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
Prueba con este haber si funciona a mi me funca rebien


mail.html
Código HTML:
<form name=formname action="sending.php" method=post>

  <p></p>
  <p></p>
  <p></p>
  <div> 
    <table width="500" height="1" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td bgcolor="#004080"><font color=white face=Verdana size=2><b>Formulario de E-mail</b></font></td>
      </tr>
      <tr>
        <td><img src="../meuno/images/spacer.gif" width="1" height="5"></td>
      </tr>
    </table>
    <table width="500" height="68" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td><font color=darkblue face=Verdana size=1><strong>De</strong></font></td>
        <td> 
          <input class="t_n" type="text" name="sender" size="60">
        </td>
    </tr>
    <tr> 
        <td><font color=darkblue face=Verdana size=1><strong>Para</strong></font></td>
        <td> 
          <input class="t_n" type="text" name="receiver" size="60">
        </td>
    </tr>
    <tr> 
        <td> <font color=darkblue face=Verdana size=1><strong>Mensaje</strong></font> 
        </td>
      <td>
          <input class="t_n" type="text" name="subject" size="60">
        </td>
    </tr>
  </table>
    <table width="500" height="1" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td><img src="../meuno/images/spacer.gif" width="1" height="5"></td>
      </tr>
      <tr>
        <td  bgcolor="#004080">&nbsp;</td>
      </tr>
      <tr> 
        <td><img src="../meuno/images/spacer.gif" width="1" height="5"></td>
      </tr>
    </table>
    <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td width="28%"> 
          <div align="center"><font size="1" face="Verdana" color="#004080">FontColor</font></div>
        </td>
        <td width="20%"> 
          <div align="center"><font size="1" face="Verdana" color="#004080">bgColor</font></div>
        </td>
        <td width="21%"> 
          <div align="center"><font size="1" face="Verdana" color="#004080">FontType</font></div>
        </td>
        <td width="21%"> 
          <div align="center"><font size="1" face="Verdana" color="#004080">FontSize</font></div>
        </td>
        <td width="10%"> 
          <div align="center"><font size="1" face="Verdana" color="#004080">Priority</font></div>
        </td>
      </tr>
      <tr> 
        <td width="28%"><font color="#148FB8"> 
          <center>
            <select name="fontcolor" class="t_n">
             <option value="black" class=black>black</option>
             <option value="white">white</option>
              <option value="red" class=red>red</option>
              <option value="blue" class=blue>blue</option>
              <option value="yellow" class=yellow>yellow</option>
              <option value="silver" class=silver>silver</option>
              <option value="aqua" class=aqua>aqua</option>
            </select>
          </center>
          </font></td>
        <td width="20%"><font color="#148FB8"> 
		<center>
          <select name="bgcolor" class="t_n">
            <option value="white">white</option>
            <option value="black" class=black>black</option>
             <option value="red" class=red>red</option>
            <option value="blue" class=blue>blue</option>
            <option value="yellow" class=yellow>yellow</option>
            <option value="silver" class=silver>silver</option>
            <option value="aqua" class=aqua>aqua</option>
          </select>
		  </center>
          </font></td>
        <td width="21%"><font color="#148FB8">
		<center>
          <select name="fontface" class="t_n">
            <option value="Verdana" >Verdana</option>
            <option value="Times New Roman" >Times New Roman</option>
            <option value="Times" >Times</option>
            <option value="Helvetica" >Helvetica</option>
            <option value="Courier" >Courier</option>
            
          </select>
		  </center>
          </font></td>
        <td width="21%">
		<font color="#148FB8">
		<center>
          <select name ="fontsize" class="t_n">
            <option value="1">1</option>
			<option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
			<option value="+1">+1</option>
			<option value="+2">+2</option>
			<option value="+3">+3</option>
          </select>
		  </center>
          </font></td>
        <td width="10%"><font color="#148FB8"> 
		<center>
          <select name ="prio" class="t_n">
            <option value="3">Normal</option>
            <option value="5">Low</option>
            <option value="1">Hight</option>
          </select>
		  </center>
          </font></td>
      </tr>
    </table>
	<table width="500" height="2" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td height="0"><img src="../meuno/images/spacer.gif" width="1" height="5"></td>
      </tr>
      <tr>
        <td height="1"  bgcolor="#004080">&nbsp;</td>
      </tr>
    </table>
    <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align="center"><font color=darkblue face=Verdana size=2><strong>Mensaje</strong></font><p>
            <textarea class="t_n" name="message" cols="75" rows="15" wrap="VIRTUAL"></textarea>
          </p></td>
      </tr>
    </table>
    <p align="center">
      <input class="t_n" type="submit" name="Submit" value="Enviar">
    </p>
</div>
</form> 

sending.php
Código PHP:
<?
$headers 
.="MIME-Version: 1.0 \n";
$headers .="From:[email protected] \n";
$headers .="X-Mailer: WEbMailer \n";
$headers .="X-Priority:$prio  \n";
$headers .="Content-Type: text/html; charset=$charset \n";
$date=date("d-m-Y");
$message_new="<html><head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=$charset\">
</head>
<body bgcolor=$bgcolor>
<font face=Verdana size=2 color=$fontcolor><b>$date</b></font>
<hr>
<font face=Verdana size=1><b><font face=Verdana size=1>$name_user</b>:$sender<br></font>
<font face=Verdana size=1><b><font face=Verdana size=1>$subject_user</b>:$subject<br> </font>
<p><font color=$fontcolor size=$fontsize face=$fontface>$message</font></p>"
;

 
$statusmail($receiver,$subject,$message_new,$headers);
    if (
$status==1){
      echo
"<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=index.php\">";
       }
    else{
    echo
"Error";
    echo
"<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=index.php\">";

       }
?>
salu2
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
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:53.