#include "__POP3_RETR.h" #include "POP3Server.h" namespace mail { int __POP3_RETR::processCommand(coreutils::ZString request, POP3Session &session, POP3Server &server) { if (!session.authenticated) { session.out << "-ERR Not authenticated" << CRLF; return 1; } request.skipWhitespace(); int msgNum = request.getTokenExclude(" ").asInteger(); MailFolder::Message *message = pop3FindMessage(session, msgNum); if (!message) { session.out << "-ERR No such message" << CRLF; return 1; } session.out << "+OK " << (int)message->size << " octets" << CRLF; pop3SendMessage(session, session.mailbox.readMessage(message->uid), -1); return 1; } }