Foros del Web » Programando para Internet » PHP »

problema al enviar correo en php

Estas en el tema de problema al enviar correo en php en el foro de PHP en Foros del Web. Buenas tardes a todos. Mi problema es el siguiente: tengo un sitio de donde quiero enviar un correo usando php sin embargo, he checado los ...
  #1 (permalink)  
Antiguo 28/03/2012, 18:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 22
Antigüedad: 13 años, 4 meses
Puntos: 0
De acuerdo problema al enviar correo en php

Buenas tardes a todos.

Mi problema es el siguiente: tengo un sitio de donde quiero enviar un correo usando php sin embargo, he checado los codigos que hay en internet y no me funcionan. Me gustaria saber que estoy haciendo mal por que en solo una ocasion me funciono y pude enviar un correo sin embargo no ha vuelto a suceder. Estoy usando minirelay.

anexo codigo

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>

<body>
	<div id="top">
	  <div id="top-menu">
			<h1>&nbsp;</h1>
			<ul id="nav-bar">
			  <li id="home" class="current"><a href="Index.html">Inicio</a></li>
				<li id="services"><a href="Servicios.php" >Servicios</a></li>
				<li id="about"><a href="#" >Conocenos</a></li>
				<li id="contact"><a href="contacto.php">Contacto</a></li>
		  </ul>
			<div class="clear" ></div>
		</div>
	</div>
	<div id="header">
	  <div id="header-wrap">
		  <p>&nbsp;</p>
		</div>
	</div>
	<div id="content">
	  <div id="content-wrap">
			<div class="welcome2">
			  <p >E nvianos un correo y enseguida nos pondremos en contacto contigo:</p>
			  <p>&nbsp;</p>
              <table align="center">
              <tr>
              <td width="427" align="center" class="welcome2">
              <form action="" method="post" class="welcome2>
<p ><span >Nombres  </span></p>
<p>
  <span >
  <input name="nombre" type="text" id="nombre" size="60" />
  <br />Empresa</span></p>
<p>
  <span >
  <input name="empresa" type="text" id="empresa" size="60" />
  <br />    Email</span></p>
<p>
  <span >
  <input name="email" type="text" id="email" size="60" />
  <br />Teléfono</span></p>
<p>
  <span >
  <input name="telefono" type="text" id="telefono" size="60" />
  </span></p>
<p ><br />    
  Mensaje 
      <textarea name="mensaje" cols="60" rows="10"></textarea>
  <br />    
</p>
<button name="btsend" id="btsend" type="submit">Enviar</button>
</form>
</td>
</tr>
</table>
			</div><div id="col-left" class="cols">
				<h3 class="review">Visitanos en:</h3>
				<p><b>Blvd. Siglo XXI</b> S/N, Fracc. Villas de San Antonio, Frente a Paseos de Santa Monica</p>
				<p>&nbsp;</p>
</div>
			<div id="col-right" class="cols">
			  <h3 class="price">Servicios y ventas:</h3>
				<ul>
				  <li></li>
					<li></li>
					<li></li>
					<li></li>
			  </ul>

		</div>
			<div class="clear"></div>
		</div>
	</div>
	<div id="footer">
	  <div id="footer-wrap">
			<h4 id="footer-logo"><a href="#">Orange</a></h4>
			<a href="#" class="rss">RSS</a>
		  <p>2012- Paqueteria Express S.A. de C.V.<a href="http://www.code-pal.com"></a></p>

			<div class="clear"></div>
		</div>
	</div>
</body>
</html>

<?php
$aviso = "";
if ($_POST['email'] != "") {
    // email de destino
$email = "[email protected]";
   
    // asunto del email
    $subject = "Contacto";
   
    // Cuerpo del mensaje
    $mensaje = "---------------------------------- \n";
    $mensaje.= "            Contacto               \n";
    $mensaje.= "---------------------------------- \n";
    $mensaje.= "NOMBRE:   ".$_POST['nombre']."\n";
    $mensaje.= "EMPRESA:  ".$_POST['empresa']."\n";
    $mensaje.= "EMAIL:    ".$_POST['email']."\n";
    $mensaje.= "TELEFONO: ".$_POST['telefono']."\n";
    $mensaje.= "FECHA:    ".date("d/m/Y")."\n";
    $mensaje.= "HORA:     ".date("h:i:s a")."\n";
    $mensaje.= "IP:       ".$_SERVER['REMOTE_ADDR']."\n\n";
    $mensaje.= "---------------------------------- \n\n";
    $mensaje.= $_POST['mensaje']."\n\n";
    $mensaje.= "---------------------------------- \n";

   
    // headers del email
    $headers = "From: ".$_POST['email']."\r\n";
   
    // Enviamos el mensaje
    if (mail($email, $subject, $mensaje, $headers)) {
        $aviso = "Su mensaje fue enviado.";
    } else {
$aviso = "Error de envío.";
    }
}

?>

Agradeceria mucho que me apoyaran la vrd es que en este foro me han apoyado ya mucho y espero que esta ocasion tmb me apoyen.

Saludos y grx
  #2 (permalink)  
Antiguo 28/03/2012, 22:30
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema al enviar correo en php

aja... y cual es el problema? te marca error? en donde lo estas probando? localhost?
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 01/04/2012, 11:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 22
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problema al enviar correo en php

Gracias por contestar Nemutagk

Fijate que si lo he provado a manera local y en un sitio contratado y en ninguna de las dos instancias me funciona. La vrd soy nuevo en PHP y ya busque lo que pudiera ser y no me funciona. No se si se tenga que configurar algo en el panel de mi sitio o incluir el nombre del servidor SMTP en mi pagina. La vrd es que soy nuevo en estas cuestiones y ya me desespere que no me sale ojala me puedas ayudar.

Saludos.
  #4 (permalink)  
Antiguo 01/04/2012, 12:17
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: problema al enviar correo en php

De manera local obviamente no te va a funcionar, ya que es necesario instalar un servidor SMTP y configurar a php para que lo use, en el sitio contratado puede ser problemas de configuración o puede que tengan bloqueado la función mail, en cualquier caso es aconsejable que preguntes en tu hosting, ahora, yo evito de sobre manera usar la función mail de PHP, si necesito enviar algún email uso la clase PHPMailer, checa la documentación y has la prueba
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 02/04/2012, 13:27
 
Fecha de Ingreso: diciembre-2010
Mensajes: 22
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problema al enviar correo en php

Gracias.

Respecto a lo del servidor smtp de manera local estoy usando el minirelay, sin emabrgo me aparece que no puede conectarse, no se si exista problema de tenga instalado el IIS y el Apache(incluido en el paquete Xamp). Ahora respecto a lo del servidor lo voy a revisar con mi proveedor.

Luego que lo cheque te aviso que sucedio al respecto gracias.
  #6 (permalink)  
Antiguo 03/04/2012, 01:02
 
Fecha de Ingreso: diciembre-2010
Mensajes: 22
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problema al enviar correo en php

Buenos dias.

Continue probando con sendmail, sin embargo no tuve exito, en algunas ocasiones no me mandaba nada y me aparecia que se habia enviado, y en otras ocasiones me marca el siguiente error:

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\rapidinmensajeria\sendmail.php on line 79



Las paginas que utilizo son dos la primera solo es el formulario y las validadiones y la segunda es el codigo que envia el mail

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for Linux (vers 1 September 2005), see www.w3.org" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Instituto Tecnol&oacute;gico de Pabell&oacute;n de Arteaga</title>
<meta http-equiv="Content-Language" content="es" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="robot" content="index, follow" />
<link rel="stylesheet" type="text/css" />
<script src="../../js/AC_RunActiveContent.js" type="text/javascript">
</script>
<script src="../../js/script.js" type="text/javascript">
</script>
<script language="javascript" type="text/javascript">
//<![CDATA[
function imprimir(pag){
        window.print();
}

function PopUps(theURL,winName,features) { //v2.0
        window.open(theURL,winName,features);
}

function limpiaTexto()
{
        if (document.buscador.q.value != "")
                document.buscador.q.value = "";
}
//]]>
</script>
<style type="text/css">
/*<![CDATA[*/
<!--
.style2 {
        font-size: 36px
}
.style3 {font-size: 15px}
.style4 {
        font-size: 20px
}
-->
/*]]>*/
</style>
<link rel="shortcut icon" href="../../images/mini_logo.ico" type="image/x-icon" />
<style type="text/css">
/*<![CDATA[*/
<!--
.style1 {color: #FFFFFF}
a:hover {
        color: #666666;
}
.style6 {       font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 14px;
}
.style5 {color: #666666}
-->
/*]]>*/
</style>

<style type="text/css">
/*<![CDATA[*/
 h3.c7 {text-align: right}
 td.c6 {background-repeat:no-repeat; background-position:bottom}
 div.c5 {text-align: left}
 div.c4 {text-align: justify}
 div.c3 {text-align: center}
 p.c2 {text-align: left}
 h2.c1 {text-align: left}
/*]]>*/
</style>
</head>
<body>
Tu opinión es importante, si has notado que alguno de nuestros enlaces está roto, algo no funciona, hay contenido no apropiado o si tienes algún comentario, dalo a conocer por este medio y con gusto te responderemos lo más pronto posible. <br />
<table width="63%" border="0" bgcolor="#FFFFFF">
  <tr>
    <td height="16" bgcolor="#FFFFFF"><div class="c4">
      <table width="100%" border="0">
        <tr>
          <th scope="col"> <form id="form1" name="form1" method="post" action="sendmail.php">
            <div class="c3">
              <p align="center">
                <input type="hidden" name="ip" value="128.30.52.49" />
                <input type="hidden" name="httpref" value="" />
                <input type="hidden" name="httpagent" value="W3C_Validator/1.606" />
                Nombre*:<br />
                <input type="text" name="visitor" size="35" />
                <br />
                <br />
                Correo electr&oacute;nico*:<br />
                <input type="text" name="visitormail" size="35" />
                <br />
                <br />
                Comentarios*:<br />
                <textarea name="notes" rows="4" cols="40">
</textarea>
              </p>
              <p align="center"><br />
                <input type="button" value="Enviar" onclick="validar(this.form)"/>
                <br/>
              </p>
            </div>
          </form>
          </th>
        </tr>
  </table>
      <span class="style3 style1">....................................................................................................................................................................................</span></div></td>
  </tr>
</table>
<script type="text/javascript">
//<![CDATA[

function validar(form){

if(form.visitor.value==""||form.visitormail.value ==""|| form.notes.value==""){
alert('Sus comentarios son muy valiosos para nosotros.\nPor favor complete los campos solicitados.');
return;

}else{
var re  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!re.test(form.visitormail.value)) {
    alert ("Dirección de email inválida");
    return false;
}

form.submit()
}
}
//]]>
</script>
</body>
</html>




Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Sendemail Script</title>
<style type="text/css">
<!--
.Estilo2 {font-size: 36px}
.style1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 16px;
	text-align: center;
}
.style2 {
	font-size: 24px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
a:link {
	color: #990000;
}
a:hover {
	color: #990000;
}
a:visited {
	color: #990000;
}
-->
</style>
</head>
<body>

<div align="center">
  <!-- Reminder: Add the link for the 'next page' (at the bottom) --> 
  <!-- Reminder: Change 'YourEmail' to Your real email --> 
  
  <?php

//$httpref = $_POST['httpref']; 
//$httpagent = $_POST['httpagent']; 
$visitor = $_POST['visitor']; 
$visitormail = $_POST['visitormail']; 
$notes = $_POST['notes'];
  
if (eregi('http:', $notes)) {
die ("Do NOT try that! ! ");
}
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,"."))) 
{
echo "<h2>Use Back - Enter valid e-mail</h2>\n"; 
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die ("Go back! ! ");
}

if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Use Back - fill in all fields</h2>\n";
die ("Use back! ! "); 
}

$todayis = date("l, F j, Y, g:i a") ;

$notes = stripcslashes($notes); 

$message = "$todayis [EST]
Recibido 
Nombre: $visitor
Mail: $visitormail\n
Mensaje: $notes



";

$from = "From: $visitormail\r\n";


mail("[email protected]", $from, $message);

?>
</div>
<div align="center"></div>
 <div align="justify"></div>
 <p align="center"><span class="style2">Sus comentarios se han enviado exitosamente</span></p>
 
 <script language=javascript>
function closer() {
var ventana = window.self;
ventana.opener = window.self;
ventana.close();

} 
</script>
 

 
 <td width="574" height="77" class="Rotulo_heliconia style1"><form id="form1" name="form1" method="post" action="">
 </form>
   <br />
  <br />
  <br />
  <br />
 <a href="contact.php"></a></td>
</body>
</html>




Tambien probe con el phpMailer y me arroja el siguiente error:

Código:
<?php
	require("class.phpmailer.php");
    $mail             = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth   = true;
    //$mail->SMTPSecure = "ssl";
    //$mail->Host       = "mail.rapidinmensajeria.com.mx";
	$mail->Host       = "smtp.gmail.com";
    $mail->Port       = 587;
    $mail->Username   = '[email protected]';
    $mail->Password   = "mipassword";
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    //====== DE QUIEN ES ========
    $mail->From       = "[email protected]";
    $mail->FromName   = "Nestor";
    //$mail->AddAttachment("images/foto.jpg", "foto_regalo.jpg"); //Archivo adjunto
    //====== PARA QUIEN =========
    $mail->Subject    = "Test Mail";
   // $mail->AddAddress("[email protected]","Para ti juan");
    $mail->AddAddress("[email protected]","Para ti alberto");

	if($mail->Send()) {
	echo "Mensaje enviado correctamente";
	} else {
	echo "Error al enviar mensaje: " . $mail->ErrorInfo;
	}

?>
no se que mas hacer, agradezco mucho su apoyo, ojala alguien me pueda apoyar.

Saludos.

Etiquetas: correo, html
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 16:40.