Enviar un email desde una aplicación híbrida con Ionic Framework puede resultar algo básico, vamos a ver como enviar emails desde nuestra aplicación usando cualquier otra aplicación de correo instalada en el dispositivo, como puede ser Gmail, Outlook, etc…Vamos a usa el plugin de Cordova llamado Email Composer, para instalarlo ejecutamos lo siguiente desde la raíz de nuestro proyecto:
1 |
cordova plugin add https://github.com/jcjee/email-composer.git |
El formato de la función de envío de emails es el siguiente:
1 |
window.plugins.emailComposer.showEmailComposerWithCallback(callback, subject, body, toRecipients, ccRecipients, bccRecipients, isHtml, attachments, attachmentsData); |
Donde:
- callback – Es la funcion que recibe la respuesta desde el plugin.
- subject – Asunto del email.
- body – Cuerpo del mensaje, puede ser HTML si isHTML es true.
- toRecipients – Array con los emails destinatarios.
- ccRecipients – Array con los emails CC destinatarios.
- bccRecipients – Array con los emails BCC destinatarios.
- isHTML – true o false para indicar si el cuerpo (body) es texto plano o HTML.
- attachments – Array de ficheros a enviar (ruta completa).
- attachmentData – Array con el nombre de los ficheros adjuntos.
Un ejemplo de la función en funcionamiento seria el siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$scope.sendFeedback= function() { if(window.plugins && window.plugins.emailComposer) { window.plugins.emailComposer.showEmailComposerWithCallback(function(result) { console.log("Respuesta -> " + result); }, "Asunto del Mensaje", // Subject "", // Body null, // CC null, // BCC false, // isHTML null, // Attachments null // Attachment Data ); } } |
Hay que tener en cuenta que esto solo funciona al ejecutar la aplicación en un emulador o dispositivo real, no funcionará desde el navegador. También el usuario debe tener alguna aplicación de correo electrónico o saltará un mensaje indicando que no se encuentra ninguna.