从Linux中的C/C++程序发送电子邮件
发布时间:2021-01-12 14:47:42 所属栏目:Linux 来源:互联网
导读:每次我的模拟结束,我想发送一封电子邮件到我的Gmail帐户.我已经尝试搜索网络,发现 sendEmail,但它是超时.如果有人可以指出我想要的一个包或链接,我会感激的. 谢谢 您可以使用popen()直接调用您的本地MTA,并提供符合RFC822的文本. #include stdio.h#include st
|
每次我的模拟结束,我想发送一封电子邮件到我的Gmail帐户.我已经尝试搜索网络,发现 sendEmail,但它是超时.如果有人可以指出我想要的一个包或链接,我会感激的. 谢谢 解决方法您可以使用popen()直接调用您的本地MTA,并提供符合RFC822的文本.#include <stdio.h>
#include <string.h>
#include <errno.h>
int sendmail(const char *to,const char *from,const char *subject,const char *message)
{
int retval = -1;
FILE *mailpipe = popen("/usr/lib/sendmail -t","w");
if (mailpipe != NULL) {
fprintf(mailpipe,"To: %sn",to);
fprintf(mailpipe,"From: %sn",from);
fprintf(mailpipe,"Subject: %snn",subject);
fwrite(message,1,strlen(message),mailpipe);
fwrite(".n",2,mailpipe);
pclose(mailpipe);
retval = 0;
}
else {
perror("Failed to invoke sendmail");
}
return retval;
}
main(int argc,char** argv)
{
int i;
printf("argc = %dn",argc);
for (i = 0; i < argc; i++)
printf("argv[%d] = "%s"n",i,argv[i]);
sendmail(argv[1],argv[2],argv[3],argv[4]);
} (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 命令行 – 在root文件拥有该文件后,有效用户ID不会更改
- linux – 如何仅清理buildroot中的目标
- ssh-rsync主机密钥验证失败
- linux – 如何使用Expect自动化telnet会话?
- 是否可以让cmake构建文件(CMakeLists.txt)不在CLion的root中
- linux – 如果我启动后台进程然后注销,它会继续运行吗?
- 如何在linux mint下的zsh中设置virtualenvwrapper?
- linux – Microsoft Project开源替代品
- linux – 如何在unix上找到没有日志文件的死进程的原因?
- linux – 在json中使Apache2服务目录索引
