【发布时间】:2014-06-13 17:59:19
【问题描述】:
我希望通过 mailx 从我的 C 代码中向收件人列表发送消息。
我想向 /home/me/Email_List.txt 文件中的每个人发送一封包含“message”变量内容的电子邮件。
if(send_email)
{
char* message = "Testing email";
//send contents of 'message' to everyone in /home/me/Email_List.txt
}
我需要 C 程序和 mailx 命令方面的帮助。这是我的 mailx 命令,它不太有效:
//This works, but I don't want to send the contents of Email_List.txt
cat /home/me/Email_List.txt /home/me/Email_List.txt | mailx -t -s "Test"
//This doesn't work, error:
//cat: cannot open Test Text
cat /home/me/Email_List.txt "Test Text" | mailx -t -s "Test"
我可以在发送之前将文本写入文件,但这似乎效率低下。
想法?
【问题讨论】:
-
这与mailx无关。
cat需要一个文件名列表来打开并吐出它们的内容。cat "Test Text"将直接查找名为Test Text的文件并尝试打开它 - 但失败了。 -
在第二个命令中使用 echo "Test Text" 而不是 cat。它正在尝试打开具有该名称的文件
-
将 cat 更改为 echo 让我“没有指定收件人”
-
@user3704313 没错。您尚未指定接收方。
echo "hi" | mailx -t -s "Test" user@example.com使用得当。使用它你应该(希望)能够编写一个循环并做你想做的事。 -
你必须在你的 mailx 命令中提到收件人。我认为它像这样 mailx -s "Test" user_name
标签: c shell concatenation mailx