gpt4 book ai didi

c - Mailx 在 C 程序中?

转载 作者:行者123 更新时间:2023-11-30 17:32:22 25 4
gpt4 key购买 nike

我希望通过 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"

我可以在发送之前将文本写入文件,但这似乎效率低下。

想法?

最佳答案

在命令行上工作,我得到了它对我有用(当然,用我的普通公司电子邮件地址代替 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

如正文中所暗示的,-s 选项主题行被忽略。 (这是运行 Ubuntu 12.04 LTS 衍生版的计算机上的 mailx 版本 12.5 6/20/10。)

请注意,To: 行区分大小写和空格(至少冒号后面必须有一个空格)。这是 RFC-822 定义的 header 的标准表示法(或其当前的形式)。当我尝试使用 -s 选项但没有 Subject: 行时,我的收件箱中收到了一条没有主题的消息。

以下内容应该适合您:

$ 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
$

注意空行!或者,您可以在 echo "Test text"; 之前使用普通的 echo;{ ... } 表示法中需要分号。

关于c - Mailx 在 C 程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com