mutt 从命令行发送邮件,标题位于文本文件中

mutt 从命令行发送邮件,标题位于文本文件中

mutt 可以从命令行发送邮件,无需命令行参数,主题、抄送、密件抄送、回复、回复均在 mail.txt 文件中定义,并包含消息正文(与 mutt 相同的文件格式打开到当我按 m-发送邮件或 r-回复邮件时)。

...这样我就可以:

  • 在收到的邮件上按“r”,准备我的回复消息,用 vim 中的“:w ~/preparedmail.txt”保存...取消发送
  • 然后在 8:00 运行 $ <<< "mutt < ~/preparedmail.txt"

...或者是否有其他工具可以接受此文件格式。或者其他方式来实现这一点。

答案1

如果您正在使用sendmailpostfix发送邮件,您可以使用

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

注意:如果您有多个延期,该文件将包含多封电子邮件。

相关内容