# include "__SMTP_RCPT.h" # include "SMTPServer.h" namespace mail { int __SMTP_RCPT::processCommand(coreutils::ZString &request, SMTPSession &session, SMTPServer &server) { std::cout << "001" << std::endl; if((session.state == MAIL) || (session.state == RCPT)) { std::cout << "002" << std::endl; if(request[1].ifNext("TO:")) { std::cout << "003" << std::endl; request[1].skipWhitespace(); if(request[1].ifNext("<")) { std::cout << "004" << std::endl; coreutils::MString recipient(request[1].getTokenExclude(">")); if(server.mailFileSystem.ifMailBoxExists(recipient)) { std::cout << "005" << std::endl; session.recipientList.push_back(recipient); std::cout << "006" << std::endl; session.out << "250 OK" << CRLF; std::cout << "007" << std::endl; session.state = RCPT; std::cout << "008" << std::endl; } else if(session.relay) { session.recipientList.push_back(recipient); session.out << "250 OK" << CRLF; session.state = RCPT; } else session.out << "550 Mailbox does not exist" << CRLF; } else session.out << "550 Usage: RCPT TO:" << CRLF; } else session.out << "550 Usage: RCPT TO:" << CRLF; } else session.out << "503 Please use MAIL first" << CRLF; std::cout << "009" << std::endl; return 1; } }