我不喜欢早起,但人们更喜欢在早上而不是凌晨 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}
要分两次不同批量发送消息,您可以:
- 将第一个批量入队
- 移动队列目录
- 安排
msmtp-runqueue.sh
与at(1)
队列目录env var 指向新的目录位置 - 重复第二批的步骤