Dev : Extensions : Example Code : Creating a XUL mailto: link

From MozillaZine Knowledge Base
Revision as of 00:32, 6 March 2005 by Asqueella (talk | contribs)
Jump to navigationJump to search

How to create a clickable link which launches the users's default application to compose a mail message

Add this XUL to your extension:

 <text value="Send me email" style="color: blue; cursor: pointer" onclick="sendMeMail();"/>


And add this javascript:

 function sendMeMail() {
   // Taken from browser.js's MailIntegration class
   var mailtoUrl = "mailto:foobar@yahoo.com?body=cats%20and%20dogs&subject=firefox%20passwordmaker%20extension";
   var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
   var uri = ioService.newURI(mailtoUrl, null, null);
   // now pass this url to the operating system
   // a generic method which can be used to pass arbitrary urls to the operating system.
   // aURL --> a nsIURI which represents the url to launch
   var extProtocolSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"].getService(Components.interfaces.nsIExternalProtocolService);
 if (extProtocolSvc)
     extProtocolSvc.loadUrl(uri);
 }

References

http://forums.mozillazine.org/viewtopic.php?t=225243