荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (frozen), 信区: InstallBBS
标 题: 利用SMTP服务器转发信件的bbs发信程序(zz)
发信站: 荔园晨风BBS站 (Mon Dec 31 11:48:48 2001), 转信
【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@bbs.nju.edu.cn 所发表 】
发信人: zhch (zhch), 信区: BBSDev
标 题: 利用SMTP服务器转发信件的bbs发信程序(zz)
发信站: 南京大学小百合站 (Sun Dec 23 13:46:35 2001), 站内信件
利用SMTP服务器转发信件的bbs发信程序
编译: 设置MAILSERVER, 把它改成本地常用的SMTP服务器.
cc sendmail.c -o sendmail
cp sendmail /home/bbs/bin
用法: 把config.h里面的SENDMAIL改成本程序的路径(如/home/bbs/bin/sendmail)
然后make clean all
mail.c代码无需改动.
程序很简单, 代码如下, 也可从 http://bbs.nju.edu.cn/download/sendmail.c 下载.
#include "/home/bbs/bbssrc/include/bbs.h"
#include "netinet/in.h"
#include "netdb.h"
#include "sys/types.h"
#define MAILSERVER "xx.xx.xx.xx"
int main(int n, char *cmd[]) {
if(n<4) {
printf("usage: sendmail -f mail-from mail-reciever.\r\n");
exit(0);
}
sendmail(cmd[2], cmd[3]);
}
int sendmail(char *from, char *to) {
struct sockaddr_in blah;
int fd;
char buf[1024];
blah.sin_family=AF_INET;
blah.sin_addr.s_addr=inet_addr(MAILSERVER);
blah.sin_port=htons(25);
fd=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(connect(fd, (struct sockaddr *)&blah, 16)<0) {
printf("Can't connect to the mail server.\r\n");
return;
}
readserver(fd);
sprintf(buf, "helo bbs.nju.edu.cn\n");
write(fd, buf, strlen(buf));
readserver(fd);
sprintf(buf, "mail from: %s\n", from);
write(fd, buf, strlen(buf));
readserver(fd);
sprintf(buf, "rcpt to: %s\n", to);
write(fd, buf, strlen(buf));
readserver(fd);
write(fd, "data\n", 5);
readserver(fd);
while(1) {
if(fgets(buf, 256, stdin)<=0) break;
buf[255]=0;
if(buf[0]=='.' && (buf[1]==10 || buf[1]==13)) continue;
write(fd, buf, strlen(buf));
}
write(fd, "\n.\n", 3);
readserver(fd);
write(fd, "quit\n", 5);
readserver(fd);
}
int readserver(int fd) {
char buf[256];
if(read(fd, buf, 256)<=0) {
printf("Mail server error 1001.\r\n");
exit(0);
}
buf[255]=0;
if(atoi(buf)>=500) {
printf("Mail server error: %s.\r\n", buf);
exit(0);
}
}
--
zhch.bbs@bbs.nju.edu.cn
※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 127.0.0.1]
--
※ 转寄:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 202.96.144.222]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店