从C程序中发送邮件?

从C程序中发送邮件?,c,shell,concatenation,mailx,C,Shell,Concatenation,Mailx,我希望在我的C代码中通过mailx向收件人列表发送一条消息 我想向/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命令,它不太起作

我希望在我的C代码中通过mailx向收件人列表发送一条消息

我想向/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" 
我可以在发送文本之前将其写入文件,但这似乎效率低下


想法?

在命令行工作时,我用正常的公司电子邮件地址代替了me@example.com,当然:

mailx -s "Just a test" -t <<EOF
To: me@example.com
Subject: Just a test with a subject

Just testing mailx -t which seems to ignore -s options too
-=JL=-
EOF

请注意,空白行!或者你可以用一个普通的回声;在回显测试文本之前;。{…}符号中需要分号。

这与mailx无关。cat希望打开一个文件名列表,并将其内容吐出。cat Test Text将查找一个名为Test Text的文件,并尝试打开它,但失败了。它试图打开一个名为“把猫换成echo”的文件,但没有收到任何回音specified@user3704313这是正确的。您没有指定接收者。echo hi | mailx-t-s测试user@example.com这是正确的使用。使用这个命令,你应该能够编写一个循环并做你想做的事情。你必须在mailx命令中提到收件人。我认为它就像这个mailx-s测试用户的名字一样有效!现在我需要在我的C程序中调用这一行。我可以用这个系统,对吗?是的;您应该能够将system与该命令行一起用作字符串参数—文字字符串,或在运行时从片段构建的字符串。
$ cat /home/me/Email_list.txt
To: My.email@company.com
Subject: Test email

$ { cat /home/me/Email_List.txt; echo "Test Text"; } | mailx -t
$