如何在Linux上打开用户首选的邮件应用程序?

时间:2014-12-01 20:44:54

标签: python email desktop-application xdgutils

我用python-gtk编写了一个简单的原生GUI脚本。现在,我想给用户一个发送带附件的电子邮件的按钮。

该脚本在Linux桌面上运行。有没有办法打开用户的首选邮件应用程序并附加文件?

3 个答案:

答案 0 :(得分:4)

要调用的linux命令是xdg-email,它是xdg-utils包的一部分,它位于大多数Linux桌面上(至少在arch,debian,ubuntu上是默认的)。

xdg-email是一个"命令行工具,用于使用用户首选的电子邮件编写器"发送邮件。

如果他们已正确设置默认应用程序,它将打开其默认邮件客户端。您可以传递参数以填写各种邮件字段(to,cc,subject,body等),以及要附加的文件的文件名。

您可以使用os.system()或子进程模块从您的python脚本中调用它。

答案 1 :(得分:3)

您可以利用webbrowser模块打开网址 您还可以利用mailto协议让Web浏览器打开系统默认邮件客户端(如果可用)。

这是一个简单的例子:

import webbrowser
webbrowser.open("mailto:test@example.com?subject=Hello World")

警告,不支持附件。 mailto协议不提供对附件的支持。一些客户支持(根据谷歌)非标准属性attachment=PATH。但我无法证实这一点。

各种电子邮件客户端可以通过附件打开带有附件的电子邮件撰写窗口,但这在每个客户端之间有所不同。另外,我不知道有任何标准方法可以确定哪些邮件程序被设置为默认值。

有关详细信息,您还可以查看wikipedia

答案 2 :(得分:-2)

这是您设置用户代理的方式

  settings = webkit.WebSettings()
  settings.set_property('user-agent', 'iPad')
  webview.set_settings(settings)

并附加图片,请查看此脚本以获得想法

http://pygtk.org/pygtk2tutorial/examples/images.py

这不是明确的,但我希望它有所帮助。