我如何稍后通过 Mutt 发送推迟的邮件?

我如何稍后通过 Mutt 发送推迟的邮件?

我不喜欢早起,但人们更喜欢在早上而不是凌晨 3 点收到电子邮件。因此我经常at在睡觉时发送电子邮件。

但这带来了一个复杂的问题,我需要将电子邮件编写为文本文件并使用sendmail.我将那些尚未发送的电子邮件留在 Mutt 的推迟 mbox 中。有没有办法用来mutt发送该电子邮件?

好的,稍后发送邮件的一种方法mutt如下:

echo 'cat /home/grochmal/body | mutt -s "mail" [email protected]' | at now + 12 hours

但我在推迟的 mbox 中有那封邮件。

如果我只有一封延期邮件,我可以这样做:

echo '/usr/sbin/sendmail -t <(cat /home/grochmal/mail/postponed | sed 1d)' | at now + 12 hours

但我经常有几封推迟的电子邮件在我的推迟 mbox 中,如何选择要发送的邮件?

我的相关部分muttrc是:

set sendmail  = "/usr/sbin/sendmail -oem -oi -f $EMAIL"
set folder    = $HOME/mail
set record    = +sent
set postponed = +postponed

我的/usr/sbin/sendmail只是到postfix包装器的软链接。

答案1

我发现了这个脚本mstp队列由 whereistejas 在 irc.freenode.net/neomutt 上提到

将您的 smtp 命令更改为msmtp-enqueue.sh.电子邮件将排队而不是发送。您可以稍后使用 发送它们msmtp-runqueue.sh。要安排发送,您可以使用at(1).

msmtp-runqueue.sh执行时会发送队列中的所有电子邮件。但只需稍作更改,msmtp-runqueue.sh您就可以安排发送多个批量。

QUEUEDIR=${QUEUEDIR:-~/.msmtpqueue}

要分两次不同批量发送消息,您可以:

  1. 将第一个批量入队
  2. 移动队列目录
  3. 安排msmtp-runqueue.shat(1)队列目录env var 指向新的目录位置
  4. 重复第二批的步骤

相关内容