Foros del Web » Programando para Internet » PHP » Configuración PHP »

No se como conectarme a mi servidor de correo para poder utilizar la funcion mail()

Estas en el tema de No se como conectarme a mi servidor de correo para poder utilizar la funcion mail() en el foro de Configuración PHP en Foros del Web. Cuando utlizo la funcion mail() de php no se donde tengo que especificar el servername o el ip de mi servidor de correo, porque lo ...
  #1 (permalink)  
Antiguo 04/03/2009, 14:34
 
Fecha de Ingreso: diciembre-2008
Mensajes: 46
Antigüedad: 15 años, 11 meses
Puntos: 0
No se como conectarme a mi servidor de correo para poder utilizar la funcion mail()

Cuando utlizo la funcion mail() de php no se donde tengo que especificar el servername o el ip de mi servidor de correo, porque lo tengo montado en el localhost de mi pc y al esta no tener habilitado el puerto 25 me da el siguiente error:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\webserver\websites\\index.php on line 91

Donde le tengo que especificar el sername o el ip de mi servidor para que el pueda conectarse a el y atraves de el supongo que mande los correos.
  #2 (permalink)  
Antiguo 04/03/2009, 14:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: No se como conectarme a mi servidor de correo para poder utilizar la func

En el php.ini, la directiva es SMTP y smtp_host.

Saludos
  #3 (permalink)  
Antiguo 06/03/2009, 14:48
Avatar de nicok_snake  
Fecha de Ingreso: marzo-2009
Ubicación: RM, Stgo de chile
Mensajes: 11
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: No se como conectarme a mi servidor de correo para poder utilizar la func

tienes que lebantar un servidor de correo como es el apache....

descargate el argomailserver



ojalas te sirva
  #4 (permalink)  
Antiguo 08/03/2009, 22:46
 
Fecha de Ingreso: diciembre-2006
Mensajes: 20
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: No se como conectarme a mi servidor de correo para poder utilizar la func

aqui le dejo mi pequeño codigo que funciona a la perfeccion

eso si no lo usen como spam por favor :)


Enviarmail.php
Código:
<?php
session_start();
include_once("Correo.class.php");

	$mail = new CorreoSMTP("url_SMTP",true,"CORREO","CONTRASEÑA"); <-- el valor true es por si el serve necesita autentificacion
	$nombre = 'NOMBRE CORREO';
	$email  = 'NOMBRE DE TU MAIL'; <-- PUEDE PONER EL QUE QUIERAS Y AL QUE LE LLEGUE LE DIRA QUE ESTE LO MANDO :) :)
	$correos = 'CORREO DONDE LO MANDAS';
	$msg = 'MENSAJE';


if($mail->enviar("$nombre <$email>","Ejecutivo <$correos>","Nueva Solicitud",$msg))
	{
	
		echo "se envio\n";
	}
	else
	{
	echo "no se envio\n";
	}
?>
Correo.class.php

Código:
<?php
//Clase para enviar correos con Mail.php de PEAR
// asegurate de tener la class Mail.php dentro de tu instalacion de servidor en la carpeta PEAR si la tienes envias sin niun problema con este metodo :)

include_once("Mail.php");

class CorreoSMTP{
  var $conexion;
  var $log;
  var $smtp;
  

   
  function CorreoSMTP($host, $auth, $username, $password){
	$this->conexion = array("host" => $host,
							"auth" => $auth,
							"username" => $username,
							"password" => $password);
	$this->smtp = Mail::factory("smtp",$this->conexion);
  }
  
  function enviar($from, $to, $subject, $body){
	$headers = array("From"   => $from,
					 "To"	 => $to,
					 "Subject" => $subject);
	$mail = $this->smtp->send($to, $headers, $body);
	if(PEAR::isError($mail)){
	  echo("<p>" . $mail->getMessage() . "</p>");
	  return false;
	}
	else
	  return true;
  }
}
?>


saludo a mi me funciona demaciado bien


obvio que lo tienen q adaptar

pero envia sin spam si tu servidor smtp no esta en una black list


incluso a hotmail :)
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 05:42.