6

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

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

4

3 回答 3

6

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

xdg-email 是“使用用户首选的电子邮件编辑器发送邮件的命令行工具”。

如果他们正确设置了默认应用程序,它将打开他们的默认邮件客户端。您可以传递参数来填写各种邮件字段(收件人、抄送、主题、正文等),以及要附加的文件的文件名。

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

于 2014-12-09T07:24:33.623 回答
3

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

这是一个简单的例子:

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

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

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

有关更多信息,您还可以查看维基百科

于 2014-12-05T22:05:12.330 回答
-2

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

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

对于附加图像,请查看此脚本以获得一个想法

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

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

于 2014-12-01T20:54:10.293 回答