martes, 30 de noviembre de 2010

Código liberado: Cómo enviar un email desde webOS

Traducir / Translate

Hoy os dejo un ejemplo de código y una librería para enviar emails usando los servicios de webOS.

Es bastante autoexplicativo. Si no, dejadme un comentario.

Es importante notar que no es posible obligar a los servicios de webOS a enviar el email. Simplemente se abre la ventana estándar de envío de emails con el formato que hayamos elaborado previamente. El usuario termina la acción pulsando el botón de enviar.

Si por alguna causa no existe aún ninguna cuenta de email asociada en el teléfono, la aplicación de email primero pedirá al usuario que registre una. Luego le mostrará la ventana de envio de email como en el comentario anterior.

Hasta la próxima!



/**
 * Libreria para envio de emails usando los servicios de webOS
 * HGC2002 30-Nov-2010 para http://webosencastellano.com
 * Este obra está bajo una licencia de Creative Commons Reconocimiento 3.0 Unported.
 * Ver términos de la licencia en http://creativecommons.org/licenses/by/3.0/deed.es
 */


/***
 * 
 * Aqui empieza la libreria
 *
 ***/
Email = {


   defaultAssistant : null,


   send : function(subject,text,toRecipients,ccRecipients,assistant) {


      if (!assistant) assistant = this.defaultAssistant;
      if (!assistant) {
         Mojo.Log.info("Email.send cannot run without assistant");
         return;
      }    
      
      Mojo.Log.info("Email.send starting...");
      
      var recipients = Array();
      var i;
      for(i = 0; i < toRecipients.length; i++ ) {
         recipients[recipients.length] = {
            value: toRecipients[i], 
            type: "email", 
            role: 1, 
            contactDisplay: toRecipients[i]
         };
      }
      if (ccRecipients) {
         for (i = 0; i < ccRecipients.length; i++) {
            recipients[recipients.length] = {
               value: ccRecipients[i], 
               type: "email", 
               role: 2, 
               contactDisplay: ccRecipients[i]
            };
         }
      }
            
      if (!text) text = "";
      
      assistant.controller.serviceRequest("palm://com.palm.applicationManager", {
         method: "launch", //"open",
         parameters: {
            id: "com.palm.app.email",
            params: {
               summary      : subject,
               text      : text,
               recipients    : recipients
            }
         }
      });
      
      Mojo.Log.info("Email.send done.");      
      
   } //end of send : function(subject,toRecipients,ccRecipients,assistant)


} //end of Email


/***
 *
 * Aqui comienza la llamada de ejemplo
 *
 ***/
var recipients = ["webosencastellano@gmail.com"];   
var subject = "El texto del titulo va aqui...";
var text = "<html><body>Y aqui el mensaje, codificado en HTML si se quiere.";
text = text + " Hoy es " + new Date().toString() + "</body></html>";


/***
 *
 * Cuidado! Esto debe ejecutarse desde algún asistente! De allí que al final esté 
 * la variable "this".
 *
 ***/
Email.defaultAssistant = this;
Email.send(subject, text, recipients);


0 comentarios:

Publicar un comentario