如何在 Thunderbird 中从 Picasa 3.9 邮寄照片?

如何在 Thunderbird 中从 Picasa 3.9 邮寄照片?

目前,在 Ubuntu 16.04 或 14.04 上,如果我们想在 Thunderbird 52 中从 Picasa 3.9 邮寄照片,会弹出新邮件但缺少附加的照片。这是一个老 Bug。 有一个使用脚本解决问题但不再适用于 Picasa 3.9 和 Thunderbird 52。这很烦人,因为使用 Picasa 和 Thunderbird 的老年人确实需要使用 Picasa 和 Thunderbird 发送照片。Picasa 3.9 随 wine 一起安装,运行良好。如何使用 Picasa 3.9 和 Thunderbird 52 邮寄照片?

使用 Picasa 通过电子邮件发送照片:

How to send photos by email with Picasa

答案1

我假设picasa-hook-email.shPicasa 3.9 不再使用该脚本,并且从未调用过。相反,它很可能依赖 MAPI 接口来发送电子邮件。但是,该接口的 wine 实现不支持附件。它将任何发送电子邮件的请求转换为 -URL,mailto:并且不支持附件。

我现在才开始修改 wine 中的 MAPI,以便使用 -compose 选项直接调用 Thunderbird。让我们看看我是否成功,但请继续关注!我将在这里告知您我的成功(或失败)。

有关 Wine MAPI 源代码请参见此处:https://source.winehq.org/source/dlls/winemapi/sendmail.c. 查看第 157ff 行:附件被明确忽略。

两天后:是的,它有效!

我做了什么:

  • 我修补了sendmail.c源文件以直接调用 Thunderbird,而不是创建mailto:-URL
  • 我使用 openSUSE Build Service 来分支官方的 wine 包并在那里添加了补丁
  • 我下载了创建的包,解压winemapi.dll.so并将其放到正确的位置。

但要一步一步来。首先看看https://build.opensuse.org/package/show/home:letsfindaway:branches:openSUSE:Leap:15.0/wine。这是分支所在的位置。所有内容均未受影响,只是在构建文件sendmail-thunderbird.patch中添加了并引用了wine.spec。您可以查看补丁并将其应用于原始源代码,以查看我所做的更改。

当您点击右侧“wine”下方的“标准”或直接在那里时,就可以找到构建本身:https://build.opensuse.org/package/binaries/home:letsfindaway:branches:openSUSE:Leap:15.0/wine/standard。您使用的是 64 位 wine 还是在 64 位环境中运行的 32 位 wine?根据具体情况下载以下文件之一:

  • wine-3.7-lp150.<n>.1.x86_64.rpm适用于 64 位 Wine
  • wine-32bit-3.7-lp150.<n>.1.x86_64.rpm在 64 位环境中运行 32 位 wine
  • wine-3.7-lp150.<n>.1.i586.rpm适用于在 32 位环境中运行的 32 位 wine

<n>每次触发重建时,该数字都会递增。目前应该是“10”。

然后从 rpm 包文件中提取文件/usr/lib/wine/winemapi.dll.so。在 Linux 下,大多数图形存档器都应该能够打开该文件。因此,无论您是否像我一样使用 openSUSE 都没关系。即使您使用的是 Ubuntu 或任何其他发行版,您也应该能够提取该文件。

您使用的 wine 版本 (几乎) 也无关紧要。sendmail.c自 wine 1.6 以来,源文件未发生任何变化。

现在将该文件放在 Wine 安装的相应位置。为确保万无一失,请先重命名原始文件,以便您仍能保留它。如果您使用的是 PlayOnLinux,那么您可能有多个 Wine 安装,位于下方~/.PlayOnLinux/wine/。请确保在正确的位置进行替换!

此补丁不仅会影响 Picasa,还会影响任何使用 MAPI 发送电子邮件的程序。当然,它永远不会成为官方补丁,因为它仅在 Thunderbird 安装为 时才有效/usr/bin/thunderbird

概括:

  • 此补丁程序可在 Picasa 在 wine 下运行并使用 Thunderbird 作为邮件程序时启用“发送电子邮件”功能。
  • 它适用于从 1.6 开始的多种 wine 版本以及几乎任何 32 位或 64 位 Linux 安装。
  • 确保 Thunderbird 已安装为/usr/bin/thunderbird
  • winemapi.dll.so从上面提到的档案之一中提取正确的版本并使用它来替代官方版本。

相关内容