Hola!
Necesito su ayuda.. Resulta que hice un formulario de contacto en mi pagina web.. Y la hospede en Razy Hosting gratis.. pero al probar el formulario de contacto no llega el correo a mi bandeja de entrada.. Para probar cual era el problema abri una cuenta en 000webhost.com y subi mi pagina ahi tambien.. y resulto que ahi si funciono.. Sera que Razy Hosting no tiene soporte para .Php o tenemos que activarlo..
Gracias de antemano.. Saludos!
Mi pagina es la siguiente..
Razy Hosting :
http://pininos.myartsonline.com/000webhost :
http://pininos.net16.net/
Hola:
Al parecer Razy no tiene soporte para la función PHP mail(). Sin embargo, puedes utilizar
PHPMailer para hacer lo que quieres.
Saludos.
skaparate escribió:Hola:
Al parecer Razy no tiene soporte para la función PHP mail(). Sin embargo, puedes utilizar PHPMailer para hacer lo que quieres.
Saludos.
Bien.. Serias tan amable de darme una breve explicacion de como se usa la herramienda de PhP Mailer..
Gracias!
Después de haberlo descargado, descomprime el archivo, copia y pega estos archivos en tu proyecto:
class.phpmailer.php
class.smtp.php
languages <- esta es una carpeta.[/code]
Luego escribe esto en tu script actual (reemplazando la parte que envía el email anterior):
[php]
require_once( 'class.phpmailer.php' );
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = file_get_contents('contents.html');
$body = preg_replace('/[\]/i','',$body);
$mail->SetFrom('[correo eliminado]', 'Tu nombre y apellido'); // Esto especifica el remitente
$mail->AddReplyTo("[correo eliminado]","Nombre y apellidos - no es necesario"); // "Responder a"; no es obligatorio
$mail->AddAddress( '[correo eliminado] - obligatorio', "Nombre y apellidos - no es necesario"); // Destinatario
$mail->Subject = "Asunto del Mensaje";
$mail->AltBody = "Mensaje opcional en caso de que el cliente no pueda leer correo HTML"; // optional, comment out and test
$mail->MsgHTML($body); // $body es el cuerpo del mensaje. Puede estar formateado en HTML.
// Las siguientes línea permite enviar archivos adjuntos (puedes repetir la siguiente línea por cada archivo que necesites enviar):
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Mensaje Enviado!";
}
Espero que te sirva :).
hola yo tambien tego un problema similar tengo una web en un hosting de pago para un cliente, y probe antes la pagina en 000webhost y el formulario funcionaba de maravilla envia los correo y redirecciona a la pagina que dice "gracias su informacion a sido enviada". pero el problema fuen cuando la subia la otros hosting los datos se envian al correo pero no redirecciona a la pagina que dice "gracias su informacion a sido enviada" solo se queda en blanco. por que en una parte funciona y en la hotra no.. igual dejo mi el codigo si alguien me puede ayudar
<?php
function ValidateEmail($email)
{
$pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i';
return preg_match($pattern, $email);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$mailto = '[correo eliminado]';
$mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;
$subject = 'Website form';
$message = 'Values submitted from web site form:';
$success_url = './enviado.html';
$error_url = './error.html';
$error = '';
$eol = "\r\n";
$max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
$boundary = md5(uniqid(time()));
$header = 'From: '.$mailfrom.$eol;
$header .= 'Reply-To: '.$mailfrom.$eol;
$header .= 'MIME-Version: 1.0'.$eol;
$header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
$header .= 'X-Mailer: PHP v'.phpversion().$eol;
if (!ValidateEmail($mailfrom))
{
$error .= "The specified email address is invalid!\n<br>";
}
if (!empty($error))
{
$errorcode = file_get_contents($error_url);
$replace = "##error##";
$errorcode = str_replace($replace, $error, $errorcode);
echo $errorcode;
exit;
}
$internalfields = array ("submit", "reset", "send", "captcha_code");
$message .= $eol;
$message .= "IP Address : ";
$message .= $_SERVER['REMOTE_ADDR'];
$message .= $eol;
$mensaje .= "Enviado el " . date('d/m/Y', time());
foreach ($_POST as $key => $value)
{
if (!in_array(strtolower($key), $internalfields))
{
if (!is_array($value))
{
$message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol;
}
else
{
$message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol;
}
}
}
$body = 'This is a multi-part message in MIME format.'.$eol.$eol;
$body .= '--'.$boundary.$eol;
$body .= 'Content-Type: text/plain; charset=ISO-8859-1'.$eol;
$body .= 'Content-Transfer-Encoding: 8bit'.$eol;
$body .= $eol.stripslashes($message).$eol;
if (!empty($_FILES))
{
foreach ($_FILES as $key => $value)
{
if ($_FILES[$key]['error'] == 0 && $_FILES[$key]['size'] <= $max_filesize)
{
$body .= '--'.$boundary.$eol;
$body .= 'Content-Type: '.$_FILES[$key]['type'].'; name='.$_FILES[$key]['name'].$eol;
$body .= 'Content-Transfer-Encoding: base64'.$eol;
$body .= 'Content-Disposition: attachment; filename='.$_FILES[$key]['name'].$eol;
$body .= $eol.chunk_split(base64_encode(file_get_contents($_FILES[$key]['tmp_name']))).$eol;
}
}
}
$body .= '--'.$boundary.'--'.$eol;
if ($mailto != '')
{
mail($mailto, $subject, $body, $header);
}
header('Location: '.$success_url);
exit;
}
luego sigue el codigo html de la pagina
""