int sendEmail(const int socketFd, const unsigned char *fromMail, const unsigned char *toMail, const unsigned char *textMail, const int textLen) { char readData[SMTP_MTU] = {0}; char writeData[SMTP_MTU] = {0}; /* Send: MAIL FROM */ memset(&writeData, 0, SMTP_MTU); sprintf(writeData, "MAIL FROM: <%s>\r\n", fromMail); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: MAIL FROM */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: RCPT TO */ memset(&writeData, 0, SMTP_MTU); sprintf(writeData, "RCPT TO: <%s>\r\n", toMail); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: RCPT TO */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: DATA */ memset(&writeData, 0, SMTP_MTU); safeWrite(socketFd, "DATA\r\n", strlen("DATA\r\n")); /* Recv: DATA */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: MAIL TEXT */ safeWrite(socketFd, textMail, textLen); /* Recv: MAIL TEXT */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: QUIT */ memset(&writeData, 0, SMTP_MTU); safeWrite(socketFd, "QUIT\r\n", strlen("QUIT\r\n")); /* Recv: QUIT */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); return 0; }
int authEmail(const int socketFd, const unsigned char *mailAddr, const unsigned char *mailPasswd) { int outSize = 0, stringLen; char readData[SMTP_MTU] = {0}; char writeData[SMTP_MTU] = {0}; char userName[MAX_EMAIL_LEN] = {0}; char userPasswd[MAX_EMAIL_LEN] = {0}; memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); /* Send: EHLO */ safeWrite(socketFd, "EHLO Here\r\n", strlen("EHLO Here\r\n")); /* Recv: EHLO */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: AUTH LOGIN */ safeWrite(socketFd, "AUTH LOGIN\r\n", strlen("AUTH LOGIN\r\n")); /* Recv: AUTH LOGIN */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: username */ memset(&userName, 0, MAX_EMAIL_LEN); memset(&writeData, 0, SMTP_MTU); stringCut((unsigned char*)mailAddr, NULL, "@", userName); outSize = BASE64_SIZE(strlen(userName)); base64_encode(writeData, outSize, userName, strlen(userName)); strcat(writeData, "\r\n"); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: username */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: passwd */ memset(&userPasswd, 0, MAX_EMAIL_LEN); strcpy(userPasswd, mailPasswd); memset(&writeData, 0, SMTP_MTU); outSize = BASE64_SIZE(strlen(userPasswd)); base64_encode(writeData, outSize, userPasswd, strlen(userPasswd)); strcat(writeData, "\r\n"); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: passwd */ memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); return 0; }
int sendEmail(const ACE_HANDLE socketFd, const unsigned char *fromMail, const unsigned char *toMail, const unsigned char *textMail, const int textLen) { char readData[SMTP_MTU] = {0}; char writeData[SMTP_MTU] = {0}; /* Send: MAIL FROM */ ACE_OS::memset(&writeData, 0, SMTP_MTU); ACE_OS::sprintf(writeData, "MAIL FROM: <%s>\r\n", fromMail); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: MAIL FROM */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: RCPT TO */ ACE_OS::memset(&writeData, 0, SMTP_MTU); ACE_OS::sprintf(writeData, "RCPT TO: <%s>\r\n", toMail); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: RCPT TO */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: DATA */ ACE_OS::memset(&writeData, 0, SMTP_MTU); char szDATA[50] = {'\0'}; ACE_OS::sprintf(szDATA, "DATA\r\n"); safeWrite(socketFd, szDATA, ACE_OS::strlen("DATA\r\n")); /* Recv: DATA */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: MAIL TEXT */ safeWrite(socketFd, (char* )textMail, textLen); /* Recv: MAIL TEXT */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: QUIT */ ACE_OS::memset(&writeData, 0, SMTP_MTU); char szQUIT[50] = {'\0'}; ACE_OS::sprintf(szQUIT, "QUIT\r\n"); safeWrite(socketFd, szQUIT, ACE_OS::strlen("QUIT\r\n")); /* Recv: QUIT */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); recvStatus(readData); return 0; }
int authEmail(const ACE_HANDLE socketFd, const unsigned char *mailAddr, const unsigned char *mailPasswd) { int outSize = 0; char readData[SMTP_MTU] = {0}; char writeData[SMTP_MTU] = {0}; char userName[MAX_EMAIL_LEN] = {0}; char userPasswd[MAX_EMAIL_LEN] = {0}; ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); /* Send: EHLO */ char szRELO[50] = {'\0'}; ACE_OS::sprintf(szRELO, "EHLO Here\r\n"); safeWrite(socketFd, szRELO, ACE_OS::strlen("EHLO Here\r\n")); /* Recv: EHLO */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: AUTH LOGIN */ char szLOGIN[50] = {'\0'}; ACE_OS::sprintf(szLOGIN, "AUTH LOGIN\r\n"); safeWrite(socketFd, szLOGIN, ACE_OS::strlen("AUTH LOGIN\r\n")); /* Recv: AUTH LOGIN */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: username */ ACE_OS::memset(&userName, 0, MAX_EMAIL_LEN); ACE_OS::memset(&writeData, 0, SMTP_MTU); stringCut((unsigned char*)mailAddr, NULL, (char* )"@", userName); outSize = BASE64_SIZE(strlen(userName)); base64_encode(writeData, outSize, (const unsigned char *)userName, strlen(userName)); ACE_OS::strcat(writeData, "\r\n"); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: username */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); /* Send: passwd */ ACE_OS::memset(&userPasswd, 0, MAX_EMAIL_LEN); ACE_OS::strcpy((char* )userPasswd, (char* )mailPasswd); ACE_OS::memset(&writeData, 0, SMTP_MTU); outSize = BASE64_SIZE(strlen(userPasswd)); base64_encode(writeData, outSize, (const unsigned char *)userPasswd, strlen(userPasswd)); ACE_OS::strcat(writeData, "\r\n"); safeWrite(socketFd, writeData, strlen(writeData)); /* Recv: passwd */ ACE_OS::memset(&readData, 0, SMTP_MTU); safeRead(socketFd, readData, SMTP_MTU); //SMTP_Print6("[%s][%d]recv: %s\r\n", __FILE__, __LINE__, readData); recvStatus(readData); return 0; }
KillerInterface::Status KillerInterface::freeze(const Id &id) { send(Command{Command::FREEZE, id}); return recvStatus(); }
KillerInterface::Status KillerInterface::terminate(const Id &id) { send(Command{Command::TERMINATE, id}); return recvStatus(); }