Enviar correos desde php

nomarlo

Bovino maduro
#1
Buenas compañeros bakunos hoy vengo en busca de su ayuda por el siguiente problema.
Tengo el siguiente script en php:

<?php
// El mensaje
require("PHPMailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->IsHTML(true);
$mail->Host = "localhost";
$mail->From = "pruebas@flashop.com";
$mail->FromName = "Flashop";
$mail->Subject = "Pruebas";
$mail->AddAddress("micorreo@hotmail.com","Contacto");
$body = "<html>";
$body .= "<body>Hola <strong>amigo</strong><br>";
$body .= "probando <i>PHPMailer<i>.<br><br>";
$body .= "<font color='blue'>Saludos</font></body>";
$body .= "</html>";
$mail->Body = $body;
//$mail->AltBody = "Hola amigo\nprobando PHPMailer\n\nSaludos";

$mail->Send();

?>

Funciona maravillosamente cuando lo pruebo en un servidor de linux que tiene sendmail, el problema es a la hora de utilizarlo en mi servidor local en windows simplemente no envia el correo. He probado con miniRelay y con freesmtp y nada. Mi pregunta es si de casualidad no conocen algo como sendmail pero para windows (que sea de uso libre) y que permita enviar correos a yahoo, hotmail y gmail. Muchas gracias por su ayuda :)

O si nadie conoce algo asi podrian decirme como hacer para llamar a ese archivo desde mi localhost ya lo intente con un requiere pero me manda el siguientes error:
Warning: requirehttp://midominio.net/Email.php):[/url] failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\wamp\www...

Fatal error: require(): Failed opening required 'http://midominio.net/Email.php' (include_path='.;C:\php\pear') in C:\wamp\www
 

humansl11

Bovino Milenario
#2
pues no me suena tu error pero por ejemplo yo tengo instalado en mi equipo el minirelay y funciona de maravilla, ya realizaste los pasos de configuracion si de algo te sirve te dejo el codigo que utilizo y funciona bien con el minrelay

$correo = $_POST['correo'];//recupero el correo al que se le va a enviar la contraseña
$row1 = mysql_fetch_array($con);
$aviso = "";
if ($correo != "") {
// email de destino
$email = $correo;

// asunto del email
$nota = "Aqui pongo una nota para el corre";
$subject = "";

// Cuerpo del mensaje
$mensaje = "---------------------------------- \n";
$mensaje.= " Datos de cuenta: \n";
$mensaje.= "---------------------------------- \n";
$mensaje.= "Nombre: ".$row1['nombre']."\n";
$mensaje.= "Usuario: ".$row1['usuario']."\n";
$mensaje.= "Contraseña: ".$row1['pass']."\n";
$mensaje.= "---------------------------------- \n\n";
$mensaje.= $nota."\n\n";
$mensaje.= "---------------------------------- \n";
$mensaje.= "envio de correo para enviar\n";

// headers del email
$headers = "From: ".$correo."\r\n";

// Enviamos el mensaje
if (mail($email, $subject, $mensaje, $headers)) {
$aviso = "Su mensaje fue enviado.";
} else {
$aviso = "Error de envío.";
}
}

Espero te sirva si no con gusto podemos checarlo
 

RyukInside

Bovino maduro
#3
Necesitas levantar un servidor STMP y verificar que tu proveedor de internet no te bloquee el servicio. Normalmente los servidores web ya tienen todo eso configurado. Saludos.
 
Arriba