Enviar correos con C# usando Mono

Si necesitáis conectaros a un servidor SMTP para hacer envíos de correos desde una aplicación que corre Mono, os dejo el código siguiente que seguro que os es de utilidad. Este ejemplo en concreto envía un mensaje usando un SMTP que requiere autenticación, si necesitáis alguna variantes: varios destinatarios, SMTP sin autenticación o cualquier otra cosa, ¡preguntad en los comentarios!

public static void Main (string[] args) { MailAddress para = new MailAddress("para@direccion.com"); MailAddress desde = new MailAddress("desde@direccion"); MailMessage mensaje = new MailMessage(desde, para); mensaje.Subject = "Asunto"; mensaje.Body = @"Cuerpo del correo"; SmtpClient cliente = new SmtpClient("direccion_servidor", puerto); cliente.Credentials = new System.Net.NetworkCredential ("nombre_usuario", "contraseña_usuario"); Console.WriteLine("Enviando mensaje de correo para: " + para.User + " en " + para.Host + " usando el servidor=" + cliente.Host + "."); try { cliente.Send(mensaje); Console.WriteLine("Mensaje enviado"); } catch (Exception ex) { Console.WriteLine("Problemas enviando mensaje: " + ex.ToString()); } } read more

Leer más » 5 Comentarios

Instalar RawTherapee en Ubuntu

Ya habéis visto que muchas de mis entradas están dedicadas a la fotografía y a comparativas de procesado de imágenes sobre sobre Linux (parte 1 y parte2). Hace un par de meses os hable de Raw Studio 2, una aplicación de revelado, la que había usado hasta ahora.

Logo de RawTherapee

Bien, digamos que además de estudiar alternativas, me gusta compararlas personalmente. Así, desde hace tiempo, he estado usando Raw Therapee como alternativa a Raw Studio.

Bien, vamos a instalarla en nuestro sistema a través de los PPA que encontré en LaunchPad. Abrimos un terminal: read more

Leer más » 1 Comentario

Instalar Webian Shell en Linux

Quizás no sabéis de qué estoy hablando. Webian Shell es una navegador Web, un fork ligero del proyecto Chromeless de Mozilla Labs a pantalla completa.

Sólo es eso, un navegador ligero a pantalla completa para evitar distracciones y centrarnos en los que nos gusta. La Web.

Para instalarlo en Linux aun no han sacado ningún .deb o .rpm ni se encuentra en un repositorio para APT o YUM y mantenernos actualizados. Pero no os preocupéis, bastará con descargarnos este tar.gz, descomprimirlo y lanzar el binario compilado: Webian Shell, desde consola podemos descomprimirlo así: read more

Leer más » 5 Comentarios

Obtener el directorio actual en Java

En esta pequeña entrada en forma de tutorial o tip, os comento brevemente cómo conocer la ruta actual de un programa Java en tiempo de ejecución.

La idea es simple, crear un fichero refiriéndonos al fichero simbólico “.” y luego recoger sus características. El fichero “.” hace referencia al directorio actual, por lo que leyendo dicho fichero podemos pedir su ruta canónica. read more

Leer más » 4 Comentarios

Apagar Ubuntu automáticamente

Curioseando por los proyectos de Launchpad, he topado con uno bastante simple y al mismo tiempo muy útil: EasyShutdown. Creo que el nombre lo dice todo, y con esta imagen sobra cualquier aclaración:

Para instalarlo descargamos el siguiente paquete: easyshutdown.deb y con el clásico doble-click lo instalamos a través de la Ubuntu Software Center.

Para instalarlo desde el terminal:

ahornero@6581-D:~$ wget http://launchpad.net/easyshutdown/trunk/0.6/+download/easyshutdown_0.6_all.deb

ahornero@6581-D:~$ sudo dpkg -i easyshutdown_0.6_all.deb read more

Leer más » 4 Comentarios

Transformar Android en Ubuntu

Visualmente hablando, creo que no hay tanto insatisfecho androizado que quiera cambiar de Sistema Operativo, aunque fuera a través de otro libre.

Bien, lo que os traigo es un conjunto de temas para personalizar nuestro Android con los iconos, fondos de pantalla, por parte de Joe Steiger. Podéis descargar el paquete desde aquí y lo subís a vuestro terminal.

Leer más » 2 Comentarios

Nonoh en Symbian

Nonoh es un servidor VoIP con llamadas gratis a teléfonos fijos de todo el mundo (en España y la mayor parte de Europa lo es) y Symbian es el Sistema Operativo de mi viejo, que no obsoleto, Nokia N81.

Así, nos dirigimos a Menú -> Herramientas -> Ajustes -> Conexión -> Ajustes de SIP -> Añadir nuevo SIP. Y rellenamos como indico a continuación:

  • Nombre de modo: Nonoh (o lo que queramos)
  • Perfil de servicio: IETF
  • Punto de acceso predet. : **nuestra WiFi o 3G (en mi caso uso mi WiFi)
  • Nombre de usuario público: tu_nombre_de_usuario@nonoh.net
  • Usar compresión: Sí
  • Registro: Siempre activado (puedes seleccionar que te avise al iniciar una llamada)
  • Usar seguridad: No
  • Servidor proxy: Lo dejamos tal cual, no cambiamos nada.
  • Servidor de registro:
  • Dir. servidor registro: nonoh.net (sin “sip” al principio)
  • Área: nonoh.net
  • Nombre de usuario: tu_nombre_de_usuario
  • Contraseña: ******
  • Tipo de transporte: Automáticamente
  • Puerto: 5060

Guardamos y nos dirigimos a Menú -> Herramientas -> Ajustes -> Conexión -> Teléfono Internet -> Perfil nuevo, dónde seleccionaremos el nombre para la conexión y el SIP al que deseamos conectarnos, en este caso Nonoh, el nombre que le hemos dado en “El nombre de modo” read more

Leer más » 1 Comentario

Instalar PHP GD en Ubuntu

Las librerías GD de PHP son la más completa lista de funciones integradas en un mismo paquete para el procesamiento y tratamiento de imágenes con este lenguaje de programación.

Anteayer fue a echar mano de estas para crear unos thumbnails de unas imágenes dentro de un directorio, más concretamente a través de la función imagecopyresized, pero me di cuenta que no podría hacer uso de esta sin antes instalar el módulo de las funciones GD en PHP.

En mi caso estaba usando una distribución Ubuntu Linux. No debe ser diferente en el resto de distribuciones basadas en Debian. Así, para instalarlo me bastó con abrir un terminal y: read more

Leer más » 2 Comentarios

Instalar Apache Tomcat 7

JSP y los servlets de Java son dos de esas tecnologías que parece que con el tiempo no han tenido el auge esperado (o al menos esa es mi sensación). De todas formas, siguen siendo dos alternativas muy relacionadas entre sí y muy válidas a la vez, para tener en cuenta si queremos llevar a cabo un desarrollo web.

El servidor más famoso para estas tecnologías es Apache Tomcat. Veamos cómo instalarlo de forma manual en cualquier distribución. Digo manual porque en los repositorios de Ubuntu no aparece ningún paquete preparado de esta versión, la 7. Suponemos que tenéis instalado Java en vuestro equipo.

Descarga y colocación en directorio destino

Lo primero será acceder a la web oficial de Tomcat y en el menú de la izquierda elegir descargas de la versión 7.0. Bajamos a Binary distributions y elegimos dentro de Core, la versión .tar.gz.

Lo descomprimimos con nuestro interfaz gráfico o mediante comando:

$ tar xvzf apache-tomcat-7.1.4.tar.gz

Y continuamos el proceso. Creamos un directorio adecuado para albergarlo:

$ sudo mkdir /usr/share/tomcat7

Ahora es el momento de mover el contenido:

$ sudo mv apache-tomcat-7.1.4/ /usr/share/tomcat7

Configuración de variables de entorno

Ahora debemos configurar las variable de entorno, pero antes, debemos saber dónde tenemos instalado tanto la JDK (Java Development Kit) como la JRE (Java Runtime Environment). Para ello, usamos la información adquirida en esta entrada de cómo saber la ruta de los ficheros que instala un paquete. Los paquetes a buscar serán en este caso (si usáis la JDK y la JRE de Sun/Oracle) los siguientes:

  • sun-java6-jdk
  • sun-java6-jre

Las rutas en mi caso son:

  • sun-java6-jdk: /usr/lib/jvm/java-6-sun-1.6.0.24/jre
  • sun-java6-jre: /usr/lib/jvm/java-6-sun-1.6.0.24/jre

Ahora agregamos al fichero de arranque del sistema (para editarlo tenéis la orden abajo):

$ sudo gedit /usr/share/tomcat7/bin/catalina.sh

Las siguientes líneas:

#!/bin/sh
JAVA_HOME="/ruta/jdk"
JRE_HOME="/ruta/jre"
...

Configuración de los usuarios

Editamos ahora el fichero: /usr/share/tomcat7/conf/tomcat-users.xml para introducir un nuevo usuario que será el gestor de la administración web:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>
 <role rolename="manager-gui"/>
 <user username="usuario" password="contrasena" roles="manager-gui"/>
</tomcat-users>

Arranque y parada del servidor

Arranque:

sudo /usr/share/tomcat7/bin/startup.sh

Parada:

sudo /usr/share/tomcat7/bin/shutdown.sh read more

Leer más » 13 Comentarios

Detectar dispositivos táctiles en Javascript

Últimamente, los programadores web tienen que desarrollar aplicaciones que sirvan tanto para un PC como para un dispositivo táctil.

En Javascript, éste es el código que yo utilizo cuando quiero hacer una web multiplataforma:

if ("ontouchstart" in document.documentElement)
{
  // Es un dispositivo táctil.
}
else
{
  // No es un dispositivo táctil.
}

Esto es muy útil ya que no se usarán los mismos eventos de Javascript en un PC que en un dispositivo táctil.

Ejemplo

Para probar el ejemplo, copia el código fuente y pégalo en un editor de textos. Guárdalo como ejemplo.html y ejecútalo desde un navegador. read more

Leer más » 2 Comentarios