First we need a Phonegap / Cordova plugin. If you didnt know how to setup your project for use with phonegap, you would have to take a look at Part 2.
1. Add emailComposer Plugin
Open the terminal and cd to your Phonegap / Cordova folder and execute the following command:
cordova plugin add https://github.com/katzer/cordova-plugin-email-composer.git
This is the call structure from the developer website:
/* * Opens an email draft pre-filled with the passed properties. */ window.plugin.email.open({ to: Array, // contains all the email addresses for TO field cc: Array, // contains all the email addresses for CC field bcc: Array, // contains all the email addresses for BCC field attachments: Array, // contains all full paths to the files you want to attach subject: String, // represents the subject of the email body: String, // represents the email body (could be HTML code, in this case set isHtml to true) isHtml: Boolean, // indicats if the body is HTML or plain text });
For further informations about the plugin take a look to the developer website: https://github.com/katzer/cordova-plugin-email-composer
2. Send the email
The function should be self explaining. You can either pass the recipient, cc, bbc as string or as Array. Of course you can send any kind of attachments using this function. If an example is needed how to read file from LocalFileSystem and send them please ask for it and I'm willing to prove an example.
FILE2MAIL: function(recipient, cc, bcc, subject, body, attachementURL) { if (!Ext.isArray(recipient)) { recipient = new Array(recipient); } if (!Ext.isArray(cc)) { cc = new Array(cc); } if (!Ext.isArray(bcc)) { bcc = new Array(bcc); } if (!Ext.isArray(attachementURL)) { attachementURL = new Array(attachementURL); } window.plugin.email.open({ to: recipient, // contains all the email addresses for TO field cc: cc, // contains all the email addresses for CC field bcc: bcc, // contains all the email addresses for BCC field attachments: attachementURL, // contains all full paths to the files you want to attach subject: subject, // represents the subject of the email body: body, // represents the email body (could be HTML code, in this case set isHtml to true) isHtml: true // indicats if the body is HTML or plain text }); }
3. Combining Part 1 & Part 2 & Part 3
var dummyStore = Ext.getStore('dummyStore'); STORE2CSV(dummyStore,null, stringSuccess); function stringSuccess(csv){ DATA2FILE('export.csv',csv,fileSavedSuccess) } function fileSavedSuccess(file){ FILE2MAIL('dummyEmail@gmail.com','','','hallo test file','Test Attachement',file.fileName); }
If you have any kind of questions or improvements please leave a comment or contact me. I appreciate any help or hints!
Keine Kommentare:
Kommentar veröffentlichen