![mutt 从命令行发送邮件,标题位于文本文件中](https://linux22.com/image/76774/mutt%20%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%EF%BC%8C%E6%A0%87%E9%A2%98%E4%BD%8D%E4%BA%8E%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E4%B8%AD.png)
mutt 可以从命令行发送邮件,无需命令行参数,主题、抄送、密件抄送、回复、回复均在 mail.txt 文件中定义,并包含消息正文(与 mutt 相同的文件格式打开到当我按 m-发送邮件或 r-回复邮件时)。
...这样我就可以:
- 在收到的邮件上按“r”,准备我的回复消息,用 vim 中的“:w ~/preparedmail.txt”保存...取消发送
- 然后在 8:00 运行 $ <<< "mutt < ~/preparedmail.txt"
...或者是否有其他工具可以接受此文件格式。或者其他方式来实现这一点。
答案1
如果您正在使用sendmail
或postfix
发送邮件,您可以使用
sendmail -t <~/preparedmail.tx
它将从文件中的任何行To:
Cc:
或Bcc:
标题行(直到第一个空行)中提取目标收件人,并将文件作为邮件发送。
对于配置了直接发送邮件等工具的人来说mutt
,一个简单的解决方案是使用邮件传输协议,一个发送预置邮件的程序,它也-t
像 sendmail 一样获取收件人,并且比 postfix 或 sendmail 更容易使用凭据配置 smtp。以下是~/.msmtprc
向 gmail 发送邮件的示例:
account gmail
host smtp.gmail.com
port 587
tls on
# from [email protected]
auto_from on
auth on
user [email protected]
# password mypassword
passwordeval gpg -d ~/.msmtp.password.gpg
account default : gmail
别忘了chmod og= ~/.msmtprc
。
答案2
该mutt
命令支持一个-H
选项,具有以下文档:
-H draft
Specify a draft file which contains header and body to use to
send a message.
如果需要,您可以“手动”创建其中一个草稿文件,但我相信它与 Mutt 在“推迟”电子邮件时使用的格式相同(有时称为“草稿”)。
在 Mutt 中,您可以编写一封电子邮件,然后用于P
推迟它 - 这将创建包含标头的文件。它在我的系统上保存的默认位置是~/postponed
,但您可以使用 找到 Mutt 内部的路径:echo $postponed
。
注意:如果您有多个延期,该文件将包含多封电子邮件。