在linux命令行上创建串行邮件

时间:2012-11-13 09:45:17

标签: linux email command-line

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

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

但这只有在我的同事安装和设置这些邮件客户端时才有效。

我发现了这个(已关闭的)相关问题: How can i send automated email in linux?

1 个答案:

答案 0 :(得分:0)

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

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

由于很难知道您在此处尝试实现的目标,因此您甚至可以创建要使用的配置文件,但是您将进行更多调查或提供有关您的用例的更多详细信息。