如何从命令行在 Thunderbird 中撰写和发送电子邮件?

问题描述 投票:0回答:3

我使用此命令通过 Thunderbird 发送日志文件:

thunderbird -compose "subject='test',to='[email protected]',body=$output,attachment='/home/test/scan.log'"

这将启动并显示 Thunderbird 的预填充编辑消息窗口,我必须手动按“发送”按钮。

如何自动发送电子邮件?

screenshot thunderbird

ubuntu command-line-interface thunderbird
3个回答
5
投票

实际上,使用

xdotool
是可以的。虽然不“正确”,但这是可能的。

您可以(根据您的目的进行修改)并将其保存到〜/ bin / send-mail

#!/bin/bash

output='testing'

thunderbird -compose "subject='test mail',to='[email protected]',body=$output" &
sleep 2                  # Wait for the window to open
xdotool mousemove 55 105 # Find the exact position of the send button manually
sleep 0.25               # Might not be needed
xdotool click 1          # Click it
echo "Done!"

使其可执行:

chmod +x bin/send-mail

此外,将其添加到您的 cron 作业中。但这肯定有风险。


4
投票

Thunderbird 不支持使用命令行自动发送电子邮件(即非交互方式)。这个问题在这里得到了解答 - https://support.mozilla.org/en-US/questions/1144493

建议您直接与相关的 SMTP 服务器通信,而不是使用 Thunderbird 等邮件客户端。

可能使用 PHP -http://www.inmotionhosting.com/support/website/sending-email-from-site/using-the-php-mail-function-to-send-emails


0
投票

我将分享我的脚本的一部分,该脚本从谷歌驱动器 GNOME 虚拟文件系统下载文件,将其部分转换为 pdf 并通过 Thunderbird 发送它

您需要将 xorg 设置为您的窗口系统,xdotool 才能工作,因为如果在 ubuntu 中将 wayland 设置为您的窗口系统,它将无法工作。

# Step 8: Send email with attachment
thunderbird -compose "subject='Comprobante de pago',to='$EMAIL',body='Buenas noches, envío comprobante de pago mes relacionado en el recibo adjunto.

Gracias y feliz día.

Cristian Beltrán
3143530535',attachment='$DOWNLOAD_DIR/$PDF_NAME'" &

# Step 9: Wait for Thunderbird window and simulate send
sleep 2
xdotool mousemove 2048 214
sleep 0.25
xdotool click 1

wait

# Step 10: Cleanup
rm "$DOWNLOAD_DIR/$PDF_NAME" "$DOWNLOAD_DIR/$FILE_NAME"

1 -&----- 用于后台执行:

使用 & 运行 Thunderbird 可以让它在后台执行,这对于继续脚本而不阻塞至关重要。

2 ----等待----同步:

触发 xdotool 模拟“发送”操作后,等待可确保脚本不会过早终止,尤其是在 Thunderbird 完成处理之前。

关于 Xorg 的重要说明:

正如所强调的,xdotool 依赖于 Xorg 来与图形窗口交互。如果 Wayland 处于活动状态(较新的 Ubuntu 安装上的默认设置),xdotool 将无法工作。这意味着用户必须将其会话设置为 Xorg。

© www.soinside.com 2019 - 2024. All rights reserved.