Foros del Web » Programando para Internet » PHP »

Problema para enviar correo con smtp y php

Estas en el tema de Problema para enviar correo con smtp y php en el foro de PHP en Foros del Web. TEngo el siguiente problema: Este es mi codigo: Código PHP: <?php /* Thank you for choosing FormToEmail by FormToEmail.com Version 2.3 December 5th 2007 COPYRIGHT FormToEmail.com 2003 - 2007 You are not permitted to sell this script, but you can use it, copy it or distribute it, providing that you do not delete this copyright notice, and you do not remove any reference or links to FormToEmail.com For support, please visit: http://formtoemail.com/support/ You can get the Pro version of this script here: http://formtoemail.com/formtoemail_pro_version.php --------------------------------------------------------------------------------------------------- FormToEmail-Pro (Pro version) Features: Check for required fields. Attach file uploads. Upload files to the server. identiPIC Photo CAPTCHA system. Check for a set cookie. ...
  #1 (permalink)  
Antiguo 02/06/2008, 13:10
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Problema para enviar correo con smtp y php

TEngo el siguiente problema:

Este es mi codigo:

Código PHP:
<?php

/*

Thank you for choosing FormToEmail by FormToEmail.com

Version 2.3 December 5th 2007

COPYRIGHT FormToEmail.com 2003 - 2007

You are not permitted to sell this script, but you can use it, copy it or distribute it, providing that you do not delete this copyright notice, and you do not remove any reference or links to FormToEmail.com

For support, please visit: http://formtoemail.com/support/

You can get the Pro version of this script here: http://formtoemail.com/formtoemail_pro_version.php
---------------------------------------------------------------------------------------------------

FormToEmail-Pro (Pro version) Features:

Check for required fields.
Attach file uploads.
Upload files to the server.
identiPIC Photo CAPTCHA system.
Check for a set cookie.
HTML output option.
CSV output to attachment or file.
Autoresponder.
Show sender's IP address.
Block IP addresses.
Block web addresses or rude words.
Block gobbledegook characters (Å ð ç etc).
Ignore fields.
Sort fields.
Auto redirect to "Thank You" page.
No branding.

---------------------------------------------------------------------------------------------------

FormToEmail DESCRIPTION

FormToEmail is a contact-form processing script written in PHP. It allows you to place a form on your website which your visitors can fill out and send to you.  The contents of the form are sent to the email address (or addresses) which you specify below.  The form allows your visitors to enter their name, email address and comments.  The script will not allow a blank form to be sent.

Your visitors (and nasty spambots!) cannot see your email address.  The script cannot be hijacked by spammers.

When the form is sent, your visitor will get a confirmation of this on the screen, and will be given a link to continue to your homepage, or other page if you specify it.

Should you need the facility, you can add additional fields to your form, which this script will also process without making any additional changes to the script.  You can also use it to process other forms.  The script will handle the "POST" or "GET" methods.  It will also handle multiple select inputs and multiple check box inputs.  If using these, you must name the field as an array using square brackets, like so: <select name="fruit[]" multiple>.  The same goes for check boxes if you are using more than one with the same name, like so: <input type="checkbox" name="fruit[]" value="apple">Apple<input type="checkbox" name="fruit[]" value="orange">Orange<input type="checkbox" name="fruit[]" value="banana">Banana

** PLEASE NOTE **  If you are using the script to process your own forms (or older FormToEmail forms) you must ensure that the email field is named correctly in your form, thus: <input type="text" name="email" etc>.  Note the lower case "email".  If you don't do this, you won't be able to see who the email is from and the script won't be able to check the validity of the email.  If you are using the form code below, you don't need to check for this.

This is a PHP script.  In order for it to run, you must have PHP (version 4.1.0 or later) on your webhosting account, and have the PHP mail() function enabled and working.  If you are not sure about this, please ask your webhost about it.

SETUP INSTRUCTIONS

Step 1: Put the form on your webpage
Step 2: Enter your email address and (optional) continue link below
Step 3: Upload the files to your webspace

Step 1:

To put the form on your webpage, copy the code below as it is, and paste it into your webpage:

<form action="FormToEmail.php" method="post">
<table border="0" bgcolor="#ececec" cellspacing="5">
<tr><td>Name</td><td><input type="text" size="30" name="name"></td></tr>
<tr><td>Email address</td><td><input type="text" size="30" name="email"></td></tr>
<tr><td valign="top">Comments</td><td><textarea name="comments" rows="6" cols="30"></textarea></td></tr>
<tr><td>&nbsp;</td><td><input type="submit" value="Send"><font face="arial" size="1">&nbsp;&nbsp;<a href="http://FormToEmail.com">Form Mail</a> by FormToEmail.com</font></td></tr>
</table>
</form>

Step 2:

Enter your email address.

Enter the email address below to send the contents of the form to.  You can enter more than one email address separated by commas, like so: $my_email = "[email protected],[email protected],[email protected]";

*/

$my_email "[email protected]";

/*

Enter the continue link to offer the user after the form is sent.  If you do not change this, your visitor will be given a continue link to your homepage.

If you do change it, remove the "/" symbol below and replace with the name of the page to link to, eg: "mypage.htm" or "http://www.elsewhere.com/page.htm"

*/

$continue "http://www.ceualm.com";

/*

Step 3:

Save this file (FormToEmail.php) and upload it together with your webpage containing the form to your webspace.  IMPORTANT - The file name is case sensitive!  You must save it exactly as it is named above!  Do not put this script in your cgi-bin directory (folder) it may not work from there.

THAT'S IT, FINISHED!

You do not need to make any changes below this line.

*/

$errors = array();

// Remove $_COOKIE elements from $_REQUEST.

if(count($_COOKIE)){foreach(array_keys($_COOKIE) as $value){unset($_REQUEST[$value]);}}

// Validate email field.

if(isset($_REQUEST['email']) && !empty($_REQUEST['email']))
{

$_REQUEST['email'] = trim($_REQUEST['email']);

if(
substr_count($_REQUEST['email'],"@") != || stristr($_REQUEST['email']," ")){$errors[] = "Email address is invalid";}else{$exploded_email explode("@",$_REQUEST['email']);if(empty($exploded_email[0]) || strlen($exploded_email[0]) > 64 || empty($exploded_email[1])){$errors[] = "Email address is invalid";}else{if(substr_count($exploded_email[1],".") == 0){$errors[] = "Email address is invalid";}else{$exploded_domain explode(".",$exploded_email[1]);if(in_array("",$exploded_domain)){$errors[] = "Email address is invalid";}else{foreach($exploded_domain as $value){if(strlen($value) > 63 || !preg_match('/^[a-z0-9-]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}}}}}

}

// Check referrer is from same site.

if(!(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']) && stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))){$errors[] = "You must enable referrer logging to use the form";}

// Check for a blank form.

function recursive_array_check_blank($element_value)
{

global 
$set;

if(!
is_array($element_value)){if(!empty($element_value)){$set 1;}}
else
{

foreach(
$element_value as $value){if($set){break;} recursive_array_check_blank($value);}

}

}

recursive_array_check_blank($_REQUEST);

if(!
$set){$errors[] = "You cannot send a blank form";}

unset(
$set);

// Display any errors and exit if errors exist.

if(count($errors)){foreach($errors as $value){print "$value<br>";} exit;}

if(!
defined("PHP_EOL")){define("PHP_EOL"strtoupper(substr(PHP_OS,0,3) == "WIN") ? "\r\n" "\n");}

// Build message.

function build_message($request_input){if(!isset($message_output)){$message_output ="";}if(!is_array($request_input)){$message_output $request_input;}else{foreach($request_input as $key => $value){if(!empty($value)){if(!is_numeric($key)){$message_output .= str_replace("_"," ",ucfirst($key)).": ".build_message($value).PHP_EOL.PHP_EOL;}else{$message_output .= build_message($value).", ";}}}}return rtrim($message_output,", ");}

$message build_message($_REQUEST);

$message $message PHP_EOL.PHP_EOL."-- ".PHP_EOL."Gracias por utilizar FormToEmail desarrollado por http://elcapitolio.net";

$message stripslashes($message);

$subject "Adolfo Lopez Mateos, Formulario de contacto";

$headers "From: " $_REQUEST['email'];
$headers .= PHP_EOL;
$headers .= "Return-Path: " $_REQUEST['email'];
$headers .= PHP_EOL;
$headers .= "Reply-To: " $_REQUEST['email'];

mail($my_email,$subject,$message,$headers);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
<title>Adolfo L&oacute;pez Mateos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#ffffff" text="#000000">

<div>
<center>
<b>Gracias <?php print stripslashes($_REQUEST['name']); ?></b>
<br>Tu mensaje se ha enviado exitosamente!
<p><a href="<?php print $continue?>">Haz click aqui para continuar</a></p>
</center>
</div>

</body>
</html>
y el problema ke me da es este:

Código PHP:
Warningmail() [function.mail]: Failed to connect to mailserver at "localhost" port 25verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in 172.21.6.14s002ceualm.comwebmasterFormToEmail.php on line 172

Gracias Juan Manuel Gutierrez 
Tu mensaje se ha enviado exitosamente

Haz click aqui para continuar 
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 02/06/2008, 13:15
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: Problema para enviar correo con smtp y php

No hay un SMTP en tu localhost, prueba instalando uno y luego vuelve a verificar.
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 02/06/2008, 13:19
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema para enviar correo con smtp y php

Nunca habia tenido problema para configurar esto... solo que este hosting es de triara y no se como hacerlo
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #4 (permalink)  
Antiguo 02/06/2008, 13:24
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 85
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema para enviar correo con smtp y php

te recomiendo a cambiar de hosting
  #5 (permalink)  
Antiguo 02/06/2008, 14:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema para enviar correo con smtp y php

Hola Capimaster,

No podrás instalar tu el servidor SMTP, si no tienes acceso root al server. Te recomiendo que verifiques eso.

Saludos.
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 10:30.