Migrar correos a Google Apps

Posted: enero 29th, 2011 | Author: | Filed under: Internet, Recursos Web | Tags: , , | 2 Comments »

La versión estandar de Google Apps no cuenta con los servicios de migración de correos, por lo que si tenemos un servidor viejo con correos tipo Squirrelmail no podemos hacer una migración automática.

De todas formas tenemos la posibilidad de hacerlo a mano.

Primero que nada creamos las casillas de correo en Google Apps. Creamos la cuenta para el dominio, verificamos que somos los dueños con un archivo HTML y por el momento dejamos los DNS del dominio sin cambiar. Esto es importante ya que necesitamos activar el servicio de Apps para el dominio, para eso el archivo HTML de verifiación, pero no damos de baja el servicio de correo y registros MX en el dominio viejo.

Con el servicio activado y las cuentas creadas, accedemos a una de la siguiente forma: https://mail.google.com/a/dominio.com

Puede ser una buena idea usar otro navegador para no tener que salir de la cuenta de administracion.

Una vez que accedimos a la nueva casilla en Google Apps, lo que hacemos es configurar para recibir correos desde otra casilla. El problema es que no nos dejará configurar el correo con el mismo nombre. Por ejemplo si el correo a migrar es info@dominio.com, y ya creamos en Google Apps el nuevo correo info@dominio.com, al agregar una cuenta para importar debemos «mentir» y usar un nombre diferente. Por ejemplo importar desde info@dominio.net.

De esa forma Apps cree que es una cuenta distinta. En el siguiente paso configuramos el acceso POP o IMAP al servidor viejo segun tengamos acceso, y comenzamos la importación…

Si tenemos que migrar múltiples cuentas puede ser un trabajo largo pero a medida que vamos dando de alta la importación podemos salir y acceder a la siguiente siguiendo los mismos pasos. Apps realizará el trabajo de migración por su cuenta mientras nosotros seguimos dando de alta las importaciones en las otras.


Envío de mails desde PHP con smtp, autenticacion, ssl y otros.

Posted: julio 28th, 2008 | Author: | Filed under: PHP, Recursos Web | Tags: , , , , , | 46 Comments »

Enviar mails con PHP suele ser sencillo, utilizando la funcion mail() podemos hacerlo aunque no tenemos prácticamente fleixbilidad ni opciones. Casos típicos son cuando queremos enviar mails por smtp, utilizando una cuenta en particular, o nuestro servidor no tiene configurado un servidor local para PHP, o necesitamos una conexion SSL, etc.

Para estos casos podemos usar la clase phpmailer, que nos da todas estas opciones y más. La clase la pueden descargar de: phpmailer.codeworxtech.com

Lo único que necesitamos hacer luego de tener la clase descargada y colocada nuestro sitio, es incluir el archivo de la misma e instancia la clase:

require(«phpmailer/class.phpmailer.php»);
$mail = new PHPMailer();

Hecho esto pasamos a definir mail de origen, destino, nombre, etc.:

$mail->From     = $mailfrom; // Mail de origen
$mail->FromName = $name; // Nombre del que envia
$mail->AddAddress($para); // Mail destino, podemos agregar muchas direcciones
$mail->AddReplyTo($mailfrom); // Mail de respuesta

Luego definimos el contenido del mail:

$mail->WordWrap = 50; // Largo de las lineas
$mail->IsHTML(true); // Podemos incluir tags html
$mail->Subject  =  «Consulta formulario Web: $name»;
$mail->Body     =  «Nombre: $name \n<br />».
«Email: $mailfrom \n<br />».
«Tel: $tel \n<br />».
«Mensaje: $info \n<br />»;
$mail->AltBody  =  strip_tags($mail->Body); // Este es el contenido alternativo sin html

Podemos adjuntar archivos simplemente agregando los mismos de la siguiente forma:

$mail->AddAttachment(«nombredearchivo.txt»); // Ingresamos la ruta del archivo

Y ahora viene la parte divertida (no solo me pica el…errr), definimos el servidor que enviara el mail, podemos definir tipo de servidor, autenticacion, usuario, contraseña, etc. Vemos ejemplo de las posibilidades que tenemos.

Si vamos a enviar mail desde el servidor local sin configuración especial podemos usar:

$mail->Host     = ‘localhost’;

Si necesitamos utilizar una casilla de correo smtp, con user y pass:

$mail->IsSMTP(); // vamos a conectarnos a un servidor SMTP
$mail->Host = «mail.servidor.com»; // direccion del servidor
$mail->SMTPAuth = true; // usaremos autenticacion
$mail->Username = «info@servidor.com»; // usuario
$mail->Password = «pass»; // contraseña

Si necesitamos una conexion con SSL, por ejemplo para enviar un mail desde PHP con gmail:

$mail->Mailer = «smtp»;
$mail->Host = «ssl://smtp.gmail.com»;
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = «burmauy@gmail.com»; // SMTP username
$mail->Password = «burmaUY123456»; // SMTP password

Como ven esta clase es muy flexible y nos olvidamos de tener que manejar nosotros mismos conexiones complejas o con cabeceras especiales. Podemos simplificarnos mucho la vida utilizando phpmailer para enviar mails.

Ya para enviar el correo, simplemente utilizamos la siguiente linea:

$mail->Send();

Podemos poner esa llinea dentro de un if para saber si quedo todo bien configurado y se pudo enviar el email, de la siguiente forma:

if ($mail->Send())
echo «Enviado»;
else
echo «Error en el envio de mail»;