我一直在开发一个firefox扩展,当按下按钮时,它需要通过用户的电子邮件客户端发送电子邮件。
我一直在通过简单地使用这样的邮件发送电子邮件:
function sendEmail(buttonEvent){
gBrowser.addTab("mailto:example@example.com?subject=Hello World");
}
但我需要在正在发送的电子邮件中添加一个附件。
我知道,在某些版本的Outlook下,通过使用这样的"?附件",mailto链接可以有一个附件: mailto:example@example.com?attachment=""C:example.txt""
,但我听说它不是跨平台的,已经从最新版本的Outlook中删除,所以这不是一个真正的选择。
考虑到这一点,是否可以在不使用服务器端代码的情况下,在Firefox扩展中发送带有附件的电子邮件?
我很确定Firefox没有开箱即用的功能。这个答案显示了如何在Delphi中实现它——显然,如果需要指定附件,则需要使用OLE。所能做的是编写自己的DLL来实现这种方法,将该DLL与扩展一起分发,并通过js-cypes调用它。
然而,这样就无法获得跨平台的解决方案,您需要为Mac OS X和Linux编写类似的本地库。然后你会遇到这样的问题,用户的"邮件客户端"不一定是一个应用程序,它可以是一个web应用程序,然后你肯定无法将文件附加到草稿邮件中。