如何在Linux上打开用户的首选邮件应用程序?
我用python-gtk写了一个简单的本地GUI脚本。现在我想给用户一个按钮来发送附件的电子邮件。如何在Linux上打开用户的首选邮件应用程序?
该脚本在Linux桌面上运行。有没有办法打开用户的首选邮件应用程序并附加文件?
Linux命令调用会xdg-email,在XDG-utils软件包,这是大多数Linux桌面(至少在默认情况下拱的一部分,Debian的,Ubuntu的)。
xdg-email是一个“使用用户首选电子邮件编辑器发送邮件的命令行工具”。
如果他们已经正确设置了默认应用程序,它将打开其默认邮件客户端。您可以传递参数以填写各种邮件字段(to,cc,主题,正文等)以及要附加的文件的文件名。
从你的Python脚本,你可以使用使用os.system()或子模块调用它..
谢谢!它甚至可以在旧版本的openSUSE 11.4上使用。 – guettli 2014-12-09 07:48:43
如果客户端是雷鸟,添加附件不适用于xdg-email。很伤心。我想大多数用户使用雷鸟。欢迎来到Linux桌面管道系统:https://bugs.launchpad.net/ubuntu/+source/simple-scan/+bug/515386 – guettli 2015-01-08 08:35:41
直到在xdg-email中存在上述错误,我使用thunderbird:http:// kb.mozillazine.org/Command_line_arguments_%28Thunderbird%29 – guettli 2015-01-08 08:53:20
你这是怎么设置的用户代理
settings = webkit.WebSettings()
settings.set_property('user-agent', 'iPad')
webview.set_settings(settings)
和附加图片,一起来看看这个脚本来得到一个想法
http://pygtk.org/pygtk2tutorial/examples/images.py
这不是一定的,但我希望它有助于。
您可以利用webbrowser
模块打开一个URL。
您还可以利用mailto协议让web浏览器打开系统默认邮件客户端(如果可用)。
下面是一个简单的例子:
import webbrowser
webbrowser.open("mailto:[email protected]?subject=Hello World")
买者,对附件的支持。 mailto协议不提供对附件的支持。有些客户支持(根据google)非标准属性attachment=PATH
。但是我还没有真正确认这一点。
有各种电子邮件客户端打开电子邮件撰写窗口与附件的方法,但这在每个客户端不同。此外,我不知道任何标准的方式来确定什么邮件程序设置为默认。
欲了解更多信息,您还可以检查wikipedia
相关:http://stackoverflow.com/questions/27836576/adding-several-attachments-to-thunderbird - 从命令行 – guettli 2015-01-08 09:18:12