最近在做一个小项目,需要用到c来调用sendmail发送邮件,参考了:
的提示,做出来了以下的实现:
意思是打开两个文件,一个是管道的fp,一个是写好了邮件内容的文件,这样就可以发送了,厉害啊
[root@bjxdurs235 20090816]# cat -n sendmail.c
1 #include
2 #define MAX_LINE_CHAR 512
3
4 int main(void)
5 {
6 char *line;
7 char buffer[MAX_LINE_CHAR+1];
8 FILE *email_txt;
9 FILE *fp;
10
11
12 email_txt = fopen( "email.txt","r" );
13 if( email_txt == NULL ){
14 perror("email.txt");
15 exit (1);
16 }
17 fp=popen("/usr/lib/sendmail -F monitor -t","w");
18
19 while ( (line = fgets( buffer, MAX_LINE_CHAR, email_txt )) != NULL ){
20 fprintf(fp,"%s",buffer);
21
22 }
23 pclose(fp);
24
25 }
最后没有经过一个编译错误,直接运行,邮件发送成功,第一次写程序这么顺利,难得啊。
阅读(545) | 评论(0) | 转发(0) |