0

我想在 linux 命令行上生成串行电子邮件。假设我有一个文件,在每个收件人的不同行的列中指示邮件地址、主题和消息文本。IE

recipient1@mail.com subject1 text1
recipient2@mail.com subject2 text2
...

该脚本应该使用标准命令,因为我打算将其发送给应该为我创建一些电子邮件的同事。行上的循环可以使用 xargs ...我可以使用命令行工具mail吗?

重要的是不要立即发送邮件。理想情况下,它会在用户首选的邮件客户端中创建用于导入的文件。这样发件人可以在提交之前检查邮件。我还希望能够将附件添加到邮件中。

我试过了

function mail_kmail {
    kmail -s "$2" --body "$3" --attach "$4" --composer "$1" 
}

function mail_thunderbird {
    thunderbird -compose "to='$1',subject='$2',body='$3',attachment='$4'" 
}

并从文件中读取输入数据

while read recipient subject body attach $file
do
  mail_kmail "$recipient" "$subject" "$body" "$attach";
done

但这只有在我的同事安装并设置了这些邮件客户端中的任何一个时才有效。

我发现了这个(已关闭)相关问题: 如何在 linux 中发送自动电子邮件?.

4

1 回答 1

0

您可以使用 mutt 发送电子邮件,这里是一个示例:

echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com

由于很难知道您要在这里实现什么,您甚至可以创建一个要使用的配置文件,但您将进行更多调查或提供有关您的用例的更多详细信息。

于 2013-06-05T22:55:01.237 回答