Posts Tagged ‘php’

12.04.2008 by Ramiro

Enviando Correos con PEAR::Mail

Hace un tiempo tuve algunos problemas con la función mail() de PHP y empecé a buscar alternativas. Por suerte los primeros ejemplos que vi fueron de PEAR lo cual me garantizaba no tener que hacer “loco” en el servidor. Auqneu esto puede ser una limitante para algunos alojamientos aunque ya la mayoría de alojamients serios sobre PHP ofrecen la opción (como en cPanel) de bajar paquetes de PEAR desde un panel de control.

Antes de pasar a los ejemplos claro que uno de los dramas con la funcion mail era que los correos no llegaban bien, era fácil cometer un error con los headers o tener que luchar con caracteres raros cuando se convertía de ISO 8859-1 a UTF-8. Asi es que el ejemplo va para enviar correos en HTML y Texto.

require("Mail.php");
require("Mail/mime.php");

# A Quién va el correo
$to="micorreo@midominio.com";

# El asunto / título del mensaje
$subject="Probando correos con PEAR::Mail";

# El mensaje o body en texto
$mensajeTexto="Su cliente de correo electrónico es viejísimo! Actualice para poder ver esto!!!";

# El mensaje con formato en HTML
$mensajeHTML="

Hola, este es un ejemplo de correos con PEAR::Mail

“;

# Los headers del correo
$headers=array();
$headers['From']=”no-reply@midominio”; # Quien lo manda
$headers['To']=$to; # Aca va el correo que definimos mas arriba
$headers['Subject']=$subject; # El asunto
$headers['X-Mailer']=”X-Mailer: Mi Mailer en PHP”; # Si quieren identificar de donde sale
$headers['X-Priority']=3; # La prioridad del correo (1 es importante)
$headers['Errors-To']=”webmaster@midominio.com”; # A donde va el correo si sale algo mal
$headers['Return-Path']=”no-reply@midominio.com”;

# Empieza el baile

$message = new Mail_mime();
$message->setTXTBody($messageTEXT);
$message->setHTMLBody($messageHTML);

# Aca definimos el encoding (esta es la parte de Mail::Mime)

$mimeparams=array();
$mimeparams['text_encoding']=”7bit”;
$mimeparams['text_charset']=”UTF-8″;
$mimeparams['html_charset']=”UTF-8″;

# Metemos todo en el body, Pear se encarga de armarlo
$body = $message->get($mimeparams);

# Cargamos los headers, Pear se encarga del resto…
$headers = $message->headers($headers);

# Enviamos
$smtp = Mail::factory(’smtp’, array (’host’ => “127.0.0.1″, ‘port’=>25, ‘auth’ => true, ‘username’ => “no-reply@midominio.com”, ‘password’ => “mipassword”));

$mail=$smtp->send($to, $headers, $body);

#Controlamos de que no haya problemas
if (PEAR::isError($mail)) {
print “Error”;
}else{
print “Correo enviado”;
}

10.06.2008 by Ramiro

Zona Horaria en PHP diferente a la del servidor

Problema: la hora que aparece en PHP es diferente a la del server.

Solución 1 - Cambiar la hora en el servidor: primero, si el servidor está en otra zona horaria y usted puede cambiarlo, hágalo. Si se trata de un proveedor de alojamiento esto no es posible de hacer y hay que arreglar la hora usando PHP.

Solución 2 - Agregar la Zona al php.ini: pero, si podemos cambiar la zona del servidor o si sabemos que está bien y podemos cambiar el php.ini debemos agregar la siguiente línea en el archivo:

date.timezone = “America/Costa_Rica”

(usar comillas dobles, las simples no funcionan y no olvidar reiniciar Apache para que los cambios surtan efecto)

La lista de lugares / paises se puede consultar en: http://cr.php.net/manual/en/timezones.america.php

Solución 3 - Cambiar la Zona desde PHP: si no es posible cambiar el php.ini podemos agregar la siguiente función al comienzo de nuestro archivo PHP:

date_default_timezone_set("America/Costa_Rica");
07.26.2008 by Ramiro

Microsoft da primer gran paso de colaboración con competidores

Microsoft estuvo colaborando con diferentes parches para PHP y otros proyectos de código abierto que benefician el intercambio de formatos. Específicamente bases de datos (SQL) y Office.

Como si esto fuera poco Microsoft compró una membresía platino en la Apache Foundation (en cargada entre otras cosas de programar Apache, el servidor web que todos estamos usando en Quasar).

Parece que desde la partida de Bill Gates la compañia ya tenía planeada algunas movidas para lograr una mejor interacción con el software libre y no dedicarse tanto a las críticas poco contructivas.

Fuente: TheRegister.co.uk